Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows 10'da, birçok donanım türünde çalışacak evrensel bir ses sürücüsü yazabilirsiniz. Bu konu başlığında, bu yaklaşımın avantajları ve platformlar arasındaki farklar ele alınmaktadır. Windows, ses için Evrensel Windows sürücülerine ek olarak WDM gibi önceki ses sürücüsü teknolojilerini desteklemeye devam eder.
Ses için Evrensel Windows sürücülerini kullanmaya başlama
IHV'ler tüm cihazlarda (masaüstleri, dizüstü bilgisayarlar, tabletler, telefonlar) çalışan bir Evrensel Windows sürücüsü geliştirebilir. Bu, ilk geliştirme ve sonraki kod bakımı için geliştirme süresini ve maliyetini azaltabilir.
Bu araçlar Evrensel Windows sürücüleri geliştirmek için kullanılabilir:
Visual Studio 2015: "Hedef Platform" değerini "Evrensel" olarak ayarlayın. Sürücü geliştirme ortamını ayarlama hakkında daha fazla bilgi için ve
WDK ile sürücü oluşturmaWindows donanım geliştirici belgelerine bakın. APIValidator Aracı: Sürücünüzün çağırdığını API'lerin Evrensel Windows sürücüsü için geçerli olduğunu doğrulamak için ApiValidator.exe aracını kullanabilirsiniz. Bu araç, Windows 10 için Windows Driver Kit'in (WDK) bir parçasıdır ve Visual Studio 2015 kullanıyorsanız otomatik olarak çalışır. Daha fazla bilgi için bkz. APIValidator.
DDI başvuru belgeleri: DDI başvuru belgeleri, Evrensel Windows sürücüleri tarafından desteklenen DDI'leri gösterecek şekilde güncelleştirilir. Daha fazla bilgi için bkz. Ses Cihazları Başvurusu.
Evrensel Ses Sürücüsü Oluşturma
Adım adım yönergeler için WDKile sürücü oluşturma ve
Evrensel ses sürücünüz için başlangıç noktası olarak kullanmak üzere universal audio sysvad örneğini yükleyin. Alternatif olarak, boş WDM sürücü şablonuyla başlayın ve ses sürücünüz için gerektiğinde evrensel sysvad örneğinden kod ekleyin.
Proje özelliklerinde Hedef Platform'un değerini "Evrensel" olarak ayarlayın.
Yükleme paketi oluşturma: Hedefiniz masaüstü sürümleri için Windows 10 (Home, Pro, Enterprise ve Education) çalıştıran bir cihazsa Evrensel INF dosyası kullanın. Hedefiniz Windows 10 Mobile çalıştıran bir cihazsa PkgGen kullanarak bir .spkg dosyası oluşturun.
Windows 10 Masaüstü sürümleri veya Windows 10 Mobile için sürücüyü derleyin, yükleyin, dağıtın ve hata ayıklayın.
Örnek Kod
Sysvad ve SwapAPO, Evrensel Windows sürücü örneklerine dönüştürüldü. Daha fazla bilgi için bkz. Örnek Ses Sürücüleri.
Ses için Evrensel Windows sürücüleri için Kullanılabilir Programlama Arabirimleri
Windows 10'dan başlayarak, sürücü programlama arabirimleri Windows'un OneCoreUAP tabanlı sürümlerinin bir parçasıdır. Bu ortak kümeyi kullanarak Evrensel Windows sürücüsü yazabilirsiniz. Bu sürücüler hem masaüstü sürümleri için Windows 10 hem de Windows 10 Mobile ve diğer Windows 10 sürümlerinde çalışır.
Aşağıdaki DDI'ler, evrensel ses sürücüleriyle çalışırken kullanılabilir.
Mevcut Ses Sürücüsünü Evrensel Windows sürücüsüne dönüştürme
Mevcut bir ses sürücüsünü Evrensel Windows sürücüsüne dönüştürmek için bu işlemi izleyin.
Mevcut sürücü çağrılarınızın OneCoreUAP Windows üzerinde çalışıp çalışmayacağını belirleyin. Başvuru sayfalarının gereksinimler bölümünü denetleyin. Daha fazla bilgi için bkz. Ses Cihazları Referansı.
Sürücünüzü Evrensel Windows sürücüsü olarak yeniden derle. Proje özelliklerinde Hedef Platform'un değerini "Evrensel" olarak ayarlayın.
Sürücünüzün çağırdığını DDI'lerin Evrensel Windows sürücüsü için geçerli olduğunu doğrulamak için ApiValidator.exe aracını kullanın. Bu araç, Windows 10 için Windows Driver Kit'in (WDK) bir parçasıdır ve Visual Studio 2015 kullanıyorsanız otomatik olarak çalışır. Daha fazla bilgi için bkz. APIValidator.
Sürücü OneCoreUAP'ın parçası olmayan arabirimleri çağırırsa, derleyici hataları bildirir.
Bu çağrıları alternatif çağrılarla değiştirin veya bir kod geçici çözümü oluşturun veya yeni bir sürücü yazın.
Bileşenli ses sürücüsü yüklemesi oluşturma
Genel bakış
Daha sorunsuz ve daha güvenilir bir yükleme deneyimi oluşturmak ve bileşen hizmetini daha iyi desteklemek için sürücü yükleme işlemini aşağıdaki bileşenlere bölün.
- DSP (varsa) ve kodlayıcı
- APO
- OEM Özelleştirmeleri
İsteğe bağlı olarak, DSP ve Codec için ayrı INF dosyaları kullanılabilir.
Bu diyagram, bileşenli ses yüklemesini özetler.
Belirli bir sistem için her temel sürücü bileşenini özelleştirmek için ayrı bir uzantı INF dosyası kullanılır. Özelleştirmeler, parametrelerin düzenlenmesini ve sisteme özel diğer ayarların yapılmasını içerir. Daha fazla bilgi için bkz. Uzantı INF Dosyası kullanma.
Uzantı INF dosyası evrensel bir INF dosyası olmalıdır. Daha fazla bilgi için bkz. Evrensel INF Dosyası Kullanma.
INF dosyalarını kullanarak yazılım ekleme hakkında bilgi için bkz. Bileşen INF Dosyası Kullanma ve DCH Tasarım İlkeleri ve En İyi Yöntemler.
Bileşenli INF dosyalarını gönderme
APO INF paketleri, temel sürücü paketinden ayrı olarak İş Ortağı Merkezi'ne gönderilmelidir. Paket oluşturma hakkında daha fazla bilgi için bkz. Windows HLK Başlarken.
SYSVAD bileşenli INF dosyaları
Bileşenli INF dosyalarına bir örnek görmek için GitHub'da sysvad/TabletAudioSample
| Dosya adı | Açıklama |
|---|---|
| ComponentizedAudioSample.inf | Temel bileşenli örnek ses INF dosyası. |
| ComponentizedAudioSampleExtension.inf | OEM özelleştirmeleri eklenen sysvad tabanının uzantı sürücüsü. |
| ComponentizedApoSample.inf | Bir APO uzantısı için örnek INF dosyası. |
Geleneksel INF dosyaları SYSVAD örneğinde kullanılabilir olmaya devam ediyor.
| Dosya adı | Açıklama |
|---|---|
| tabletaudiosample.inf | Sürücüyü yüklemek için gereken tüm bilgileri içeren bir masaüstü monolitik INF dosyası. |
APO satıcısına özgü ayarlama parametreleri ve özellik yapılandırması
Tüm APO satıcı sistemine özgü ayarlar, parametreler ve ayarlama değerleri bir uzantı INF paketi aracılığıyla yüklenmelidir. Çoğu durumda bu, INF AddReg yönergesiile basit bir şekilde gerçekleştirilebilir. Daha karmaşık durumlarda bir ayarlama dosyası kullanılabilir.
Temel sürücü paketlerinin çalışabilmesi için bu özelleştirmelere bağlı olmaması gerekir (tabii ki işlevsellik azaltılabilir).
UWP Ses Ayarları AP'leri
Son kullanıcı kullanıcı arabirimini uygulamak için Windows Evrensel Ses sürücüsü için Donanım Destek Uygulaması (HSA) kullanın. Daha fazla bilgi için bkz. Donanım Destek Uygulaması (HSA): Sürücü Geliştiricileriiçin adımlar.
Program aracılığıyla UWP Donanım Destek Uygulamalarını başlatma
Bir sürücü olayına (örneğin, yeni bir ses cihazı bağlandığında) bağlı olan bir UWP Donanım Destek Uygulamasını program aracılığıyla başlatmak için Windows Kabuğu API'lerini kullanın. Windows 10 Kabuk API'leri, kaynak etkinleştirmeye dayalı olarak veya doğrudan IApplicationActivationManageraracılığıyla UWP kullanıcı arabirimini başlatmak için bir yöntemi destekler. UWP uygulamalarının otomatik olarak başlatılması hakkında daha fazla ayrıntıya Windows 10 UWP uygulamalarını başlatmayı otomatikleştirmebölümlerinde ulaşabilirsiniz.
AudioModules API'nin APO ve cihaz sürücüsü satıcıları tarafından kullanımı
Ses Modülleri API'si/DDI, bir UWP uygulaması veya kullanıcı modu hizmeti arasında çekirdek sürücüsü modülüne veya DSP işleme bloğuna geçirilen komutlar için iletişim aktarımını (protokol değil) standartlaştırmak üzere tasarlanmıştır. Ses Modülleri, modül numaralandırmasını ve iletişimini desteklemek için doğru DDI'yi uygulayan bir sürücü gerektirir. Komutlar ikili olarak geçirilir ve yorum/tanım oluşturucuya bırakılır.
Ses Modülleri şu anda bir UWP uygulaması ile ses altyapısında çalışan bir SW APO arasında doğrudan iletişimi kolaylaştıracak şekilde tasarlanmamıştır.
Ses modülleri hakkında daha fazla bilgi için bkz.
APO HWID dizeleri oluşturma
APO Donanım Kimlikleri hem standart bilgileri hem de satıcı tanımlı dizeleri içerir.
Bunlar aşağıdaki gibi oluşturulur:
SWC\VEN_v(4)&AID_a(4)&SUBSYS_ n(4)s(4) &REV_r(4)
SWC\VEN_v(4)&AID_a(4)&SUBSYS_ n(4)s(4)
SWC\VEN_v(4)&AID_a(4)
Nerede:
- v(4), APO cihaz satıcısının 4 karakterli tanımlayıcısıdır. Bu, Microsoft tarafından yönetilecektir.
- a(4), APO satıcısı tarafından tanımlanan APO için 4 karakterli tanımlayıcıdır.
- n(4), üst cihazın alt sistemi satıcısının PCI SIG tarafından atanan 4 karakterli tanımlayıcısıdır. Bu genellikle OEM tanımlayıcısıdır.
- s(4), üst cihaz için 4 karakterli satıcı tanımlı alt sistem tanımlayıcısıdır. Bu genellikle OEM ürün tanımlayıcısıdır.
Sürücü güncellemesi için Plug and Play INF sürümü ve tarih değerlendirmesi
Windows Tak Çalıştır sistemi, birden çok sürücü mevcut olduğunda hangi sürücünün yükleneceğini belirlemek için tarihi ve sürücü sürümünü değerlendirir. Daha fazla bilgi için bkz. Windows Sürücüleri Nasıl Derecelendirir.
En son sürücünün kullanılmasına izin vermek için, sürücünün her yeni sürümü için tarihi ve sürümü güncelleştirin.
APO sürücüsü kayıt defteri anahtarı
Üçüncü taraf tanımlı ses sürücüsü/APO kayıt defteri anahtarları için HKR kullanın.
UWP <-> APO iletişimini kolaylaştırmak için Windows Hizmeti kullanma
Windows Hizmeti, API'ler gibi kullanıcı modu bileşenlerinin yönetimi için kesinlikle gerekli değildir. Ancak, tasarımınız UWP <-> APO iletişimini kolaylaştırmak için bir RPC sunucusu içeriyorsa, bu işlevselliğin ses motorunda çalışan APO'yu denetleyen bir Windows Hizmetinde uygulanmasını öneririz.
Windows 10 Desktop için Sysvad Evrensel Ses Örneği Oluşturma
Windows 10 masaüstü için sysvad örneğini derlemek için aşağıdaki adımları tamamlayın.
Masaüstü inf dosyasını (tabletaudiosample.inf) bulun ve üretici adını "Contoso" gibi bir değere ayarlayın
Çözüm Gezgini'nde 'sysvad' Çözümü'ne basılı tutun (veya sağ tıklayın) ve Configuration Manager'ı seçin. Windows'un 64 bit sürümüne dağıtıyorsanız hedef platformu x64 olarak ayarlayın. Yapılandırma ve platform ayarlarının tüm projeler için aynı olduğundan emin olun.
Sysvad çözümündeki tüm projeleri derleyin.
Derlemeden derlemenin çıkış dizinini bulun. Örneğin, aşağıdaki gibi bir dizinde bulunabilir:
C:\Program Files (x86)\Windows Kits\10\src\audio\sysvad\x64\Debug\packageSysvad sürücüsünü yüklemek istediğiniz sisteme aşağıdaki dosyaları kopyalayın:
| Dosya | Açıklama |
|---|---|
| TabletAudioSample.sys | Sürücü dosyası. |
| tabletaudiosample.inf | Sürücüyü yüklemek için gereken bilgileri içeren bir bilgi (INF) dosyası. |
| sysvad.cat | Katalog dosyası. |
| SwapAPO.dll | API'leri yönetmek için bir kullanıcı arabirimi için örnek sürücü uzantısı. |
| KeywordDetectorAdapter.dll | Örnek anahtar sözcük algılayıcısı. |
Sürücüyü yükleme ve test edin
Hedef sistemde PnpUtil kullanarak sürücüyü yüklemek için bu adımları izleyin.
Yönetici komut istemini açın ve sürücü dosyalarını kopyaladığınız dizine aşağıdakileri yazın.
pnputil -i -a tabletaudiosample.inf
Sysvad sürücüsü yüklemesi tamamlanmalıdır. Herhangi bir hata varsa ek bilgi için bu dosyayı inceleyebilirsiniz:
%windir%\inf\setupapi.dev.logCihaz Yöneticisi'ndeki Görünüm menüsünde Türe göre cihazlar'ı seçin. Cihaz ağacında Microsoft Sanal Ses Cihazı (WDM) - Sysvad Örneği'ni bulun. Bu genellikle Ses, video ve oyun denetleyicileri düğümü altındadır.
Hedef bilgisayarda Denetim Masası'nı açın ve Donanım ve Ses'e>Ses cihazlarını yönetin. Ses iletişim kutusunda Microsoft Sanal Ses Cihazı (WDM) - Sysvad Örneği olarak etiketlenmiş hoparlör simgesini seçin, ardından Varsayılanı Ayarla'yı seçin, ancak Tamam'ı seçmeyin. Bu, Ses iletişim kutusunu açık tutar.
Hedef bilgisayarda bir MP3 veya başka bir ses dosyası bulun ve çalmak için çift tıklayın. Ardından Ses iletişim kutusunda, Microsoft Sanal Ses Cihazı (WDM) - Sysvad Örnek sürücüsüyle ilişkili ses düzeyi göstergesinde etkinlik olduğunu doğrulayın.