Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Di Windows 10 Anda dapat menulis driver audio universal yang akan berfungsi di banyak jenis perangkat keras. Topik ini membahas manfaat pendekatan ini serta perbedaan antar platform. Selain driver Universal Windows untuk audio, Windows terus mendukung teknologi driver audio sebelumnya, seperti WDM.
Memulai dengan Driver Universal Windows untuk Audio
IHV dapat mengembangkan driver Universal Windows yang berfungsi di semua perangkat (desktop, laptop, tablet, ponsel). Ini dapat mengurangi waktu pengembangan dan biaya untuk pengembangan awal dan pemeliharaan kode selanjutnya.
Alat-alat ini tersedia untuk mengembangkan driver Universal Windows:
Visual Studio 2015: Atur "Platform Target" sama dengan "Universal". Untuk informasi selengkapnya tentang menyiapkan lingkungan pengembangan driver, lihat dokumentasi pengembang perangkat keras Windows dan Membangun driver dengan WDK.
Alat APIValidator: Anda dapat menggunakan alat ApiValidator.exe untuk memverifikasi bahwa API panggilan driver Anda valid untuk driver Universal Windows. Alat ini adalah bagian dari Windows Driver Kit (WDK) untuk Windows 10, dan berjalan secara otomatis jika Anda menggunakan Visual Studio 2015. Untuk informasi selengkapnya, lihat APIValidator.
Dokumentasi referensi DDI: Dokumentasi referensi DDI diperbarui untuk menunjukkan DDI mana yang didukung oleh driver Universal Windows. Untuk informasi selengkapnya, lihat Referensi Perangkat Audio.
Membuat Driver Audio Universal
Untuk panduan langkah demi langkah, lihat dokumentasi pengembang perangkat keras Windows dan Membangun driver dengan WDK. Berikut adalah ringkasan langkah-langkahnya:
Muat sampel sysvad audio universal untuk digunakan sebagai titik awal untuk driver audio universal Anda. Atau, mulailah dengan templat driver WDM kosong dan tambahkan kode dari sampel sysvad universal sesuai kebutuhan untuk driver audio Anda.
Di properti proyek, atur Platform Target ke "Universal".
Buat paket penginstalan: Jika target Anda adalah perangkat yang menjalankan Windows 10 untuk edisi desktop (Home, Pro, Enterprise, dan Education), gunakan file INF Universal. Jika target Anda adalah perangkat yang menjalankan Windows 10 Mobile, gunakan PkgGen untuk menghasilkan file .spkg.
Bangun, instal, debug, dan terapkan driver untuk edisi desktop Windows 10 atau Windows 10 Mobile.
Kode Contoh
Sysvad dan SwapAPO telah dikonversi menjadi sampel driver Universal Windows. Untuk informasi selengkapnya, lihat Contoh Driver Audio.
Antarmuka Pemrograman yang Tersedia untuk driver Universal Windows untuk Audio
Dimulai dengan Windows 10, antarmuka pemrograman driver adalah bagian dari Windows edisi berbasis OneCoreUAP. Dengan menggunakan set umum tersebut, Anda dapat menulis driver Universal Windows. Driver tersebut akan berjalan pada Windows 10 untuk edisi desktop dan Windows 10 Mobile, dan versi Windows 10 lainnya.
DDI berikut tersedia saat bekerja dengan driver audio universal.
Set Peristiwa Driver Audio
Antarmuka Driver Audio
Mengonversi Driver Audio yang Ada ke driver Universal Windows
Ikuti proses ini untuk mengonversi pengandar audio yang ada ke driver Universal Windows.
Tentukan apakah panggilan driver yang ada akan berjalan pada OneCoreUAP Windows. Periksa bagian persyaratan dari halaman referensi. Untuk informasi selengkapnya, lihat Referensi Perangkat Audio.
Kompilasi ulang driver Anda sebagai driver Universal Windows. Di properti proyek, atur Platform Target ke "Universal".
Gunakan alat ApiValidator.exe untuk memverifikasi bahwa DDI yang dipanggil driver Anda valid untuk driver Universal Windows. Alat ini adalah bagian dari Windows Driver Kit (WDK) untuk Windows 10, dan berjalan secara otomatis jika Anda menggunakan Visual Studio 2015. Untuk informasi selengkapnya, lihat APIValidator.
Jika driver memanggil antarmuka yang bukan bagian dari OneCoreUAP, pengkompilasi melaporkan kesalahan.
Ganti panggilan tersebut dengan panggilan alternatif, atau buat solusi kode, atau tulis driver baru.
Membuat penginstalan driver audio yang terkomponen
Ikhtisar
Untuk menciptakan pengalaman penginstalan yang lebih lancar dan lebih andal dan untuk mendukung layanan komponen dengan lebih baik, bagi proses penginstalan driver menjadi komponen berikut.
- DSP (jika ada) dan Codec
- APO
- Kustomisasi OEM
Secara opsional, file INF terpisah dapat digunakan untuk DSP dan Codec.
Diagram ini meringkas pemasangan audio berbasis komponen.
File INF ekstensi terpisah digunakan untuk menyesuaikan setiap komponen driver dasar untuk sistem tertentu. Kustomisasi mencakup parameter penyetelan dan pengaturan khusus sistem lainnya. Untuk informasi selengkapnya, lihat Menggunakan File INF Ekstensi.
File INF ekstensi harus berupa file INF universal. Untuk informasi lebih lanjut, lihat Menggunakan File INF Universal.
Untuk informasi tentang menambahkan perangkat lunak menggunakan file INF, lihat Menggunakan File INF Komponen dan Prinsip dan Praktik Terbaik Desain DCH.
Mengirimkan file INF yang dikomponenkan
Paket INF APO harus dikirimkan ke Pusat Mitra secara terpisah dari paket driver dasar. Untuk informasi selengkapnya tentang membuat paket, lihat Windows HLK Panduan Memulai.
File INF komponen SYSVAD
Untuk melihat contoh file INF yang dikomponenkan, periksa sysvad/TabletAudioSampledi GitHub.
| Nama file | Deskripsi |
|---|---|
| ComponentizedAudioSample.inf | File INF audio sampel komponen dasar. |
| ComponentizedAudioSampleExtension.inf | Driver ekstensi untuk basis sysvad dengan kustomisasi OEM tambahan. |
| ComponentizedApoSample.inf | File INF contoh ekstensi APO. |
File INF tradisional terus tersedia dalam sampel SYSVAD.
| Nama file | Deskripsi |
|---|---|
| tabletaudiosample.inf | File INF monolitik desktop yang berisi semua informasi yang diperlukan untuk menginstal driver. |
Parameter penyetelan khusus vendor APO dan konfigurasi fitur
Semua pengaturan, parameter, dan nilai penyetelan khusus sistem vendor APO harus diinstal melalui paket INF ekstensi. Dalam banyak kasus, ini dapat dilakukan dengan cara yang sederhana dengan direktif INF AddReg . Dalam kasus yang lebih kompleks, file penyetelan dapat digunakan.
Paket driver dasar tidak boleh bergantung pada penyesuaian ini agar berfungsi (meskipun tentu saja fungsionalitas dapat dikurangi).
Aplikasi Pengaturan Audio UWP
Untuk menerapkan UI pengguna akhir, gunakan Aplikasi Dukungan Perangkat Keras (HSA) untuk driver Windows Universal Audio. Untuk informasi selengkapnya, lihat Hardware Support App (HSA): Langkah-langkah untuk Pengembang Driver.
Meluncurkan Aplikasi Dukungan Perangkat Keras UWP secara terprogram
Untuk meluncurkan Aplikasi Dukungan Perangkat Keras UWP secara terprogram, berdasarkan peristiwa driver (misalnya, ketika perangkat audio baru tersambung), gunakan WINDOWS Shell API. API Shell Windows 10 mendukung metode untuk meluncurkan UWP UI berdasarkan aktivasi sumber daya, atau langsung melalui IApplicationActivationManager. Anda dapat menemukan detail selengkapnya tentang peluncuran otomatis untuk aplikasi UWP di Mengotomatiskan peluncuran aplikasi Windows 10 UWP.
APO dan vendor driver perangkat menggunakan API AudioModules
AUDIO Modules API/DDI dirancang untuk menstandarkan transportasi komunikasi (tetapi bukan protokol) untuk perintah yang diteruskan antara aplikasi UWP atau layanan mode pengguna ke modul driver kernel atau blok pemrosesan DSP. Modul Audio memerlukan driver yang mengimplementasikan DDI yang benar untuk mendukung enumerasi dan komunikasi modul. Perintah diteruskan sebagai biner dan interpretasi/definisi diserahkan kepada pembuat.
Modul Audio saat ini tidak dirancang untuk memfasilitasi komunikasi langsung antara aplikasi UWP dan APO SW yang berjalan di mesin audio.
Untuk informasi selengkapnya tentang modul audio, lihat Menerapkan Komunikasi Modul Audio dan Mengonfigurasi dan mengkueri modul perangkat audio.
Konstruksi String APO HWID
ID Perangkat Keras APO menggabungkan informasi standar dan string yang ditentukan vendor.
Mereka dibangun sebagai berikut:
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)
Di mana:
- v(4) adalah pengidentifikasi 4 karakter untuk vendor perangkat APO. Ini akan dikelola oleh Microsoft.
- a(4) adalah pengidentifikasi 4 karakter untuk APO, yang ditentukan oleh vendor APO.
- n(4) adalah pengidentifikasi PCI SIG 4 karakter yang ditetapkan untuk vendor subsistem untuk perangkat induk. Ini biasanya pengidentifikasi OEM.
- s(4) adalah pengidentifikasi subsistem dengan 4 karakter yang ditentukan oleh vendor untuk perangkat induk. Ini biasanya pengidentifikasi produk OEM.
Evaluasi versi dan tanggal INF Plug and Play untuk pembaruan driver
Sistem Windows Plug and Play mengevaluasi tanggal dan versi driver untuk menentukan drive mana yang akan diinstal ketika ada beberapa driver. Untuk informasi selengkapnya, lihat Bagaimana Windows Mengurutkan Driver.
Untuk mengizinkan driver terbaru digunakan, pastikan dan perbarui tanggal dan versi, untuk setiap versi driver baru.
Kunci registri APO untuk driver
Untuk kunci registri driver audio/APO (Audio Processing Object) yang ditentukan oleh pihak ketiga, gunakan HKR.
Gunakan Layanan Windows untuk memfasilitasi komunikasi UWP <-> APO
Layanan Windows tidak benar-benar diperlukan untuk manajemen komponen mode pengguna seperti API. Namun, jika desain Anda menyertakan server RPC untuk memfasilitasi komunikasi APO <-> UWP, sebaiknya terapkan fungsionalitas tersebut di Windows Service yang kemudian mengontrol APO yang beroperasi dalam mesin audio.
Membangun Sampel Audio Universal Sysvad untuk Desktop Windows 10
Selesaikan langkah-langkah berikut untuk membuat sampel sysvad untuk desktop Windows 10.
Temukan file inf desktop (tabletaudiosample.inf) dan atur nama produsen ke nilai seperti "Contoso"
Di Penjelajah Solusi, pilih dan tahan (atau klik kanan) Solusi 'sysvad', dan pilih Configuration Manager. Jika Anda menyebarkan ke Windows versi 64 bit, atur platform target ke x64. Pastikan bahwa pengaturan konfigurasi dan platform sama untuk semua proyek.
Bangun semua proyek dalam solusi sysvad.
Temukan direktori hasil untuk build yang dihasilkan. Misalnya dapat ditemukan di direktori seperti ini:
C:\Program Files (x86)\Windows Kits\10\src\audio\sysvad\x64\Debug\packageSalin file berikut ke sistem yang ingin Anda instal driver sysvad:
| Arsip | Deskripsi |
|---|---|
| TabletAudioSample.sys | File driver. |
| tabletaudiosample.inf | File informasi (INF) yang berisi informasi yang diperlukan untuk menginstal driver. |
| sysvad.cat | File katalog. |
| SwapAPO.dll | Contoh ekstensi driver untuk UI untuk mengelola API. |
| KeywordDetectorAdapter.dll | Contoh detektor kata kunci. |
Menginstal dan menguji driver
Ikuti langkah-langkah ini untuk menginstal driver menggunakan PnpUtil
Buka dan Perintah administrator dan ketik berikut ini di direktori tempat Anda menyalin file driver.
pnputil -i -a tabletaudiosample.inf
Penginstalan driver sysvad harus selesai. Jika ada kesalahan, Anda dapat memeriksa file ini untuk informasi tambahan:
%windir%\inf\setupapi.dev.logDi Manajer Perangkat, pada menu Tampilan, pilih Perangkat menurut jenis. Di pohon perangkat, temukan Microsoft Virtual Audio Device (WDM) - Sampel Sysvad. Ini biasanya berada di bawah node Suara, video, dan pengontrol game.
Pada komputer target, buka Panel Kontrol dan navigasi ke Perangkat Keras dan Suara>Mengelola perangkat audio. Dalam kotak dialog Suara, pilih ikon speaker berlabel Perangkat Audio Virtual Microsoft (WDM) - Sampel Sysvad, lalu pilih Atur Default, tetapi jangan pilih OK. Ini akan membuat kotak dialog Suara tetap terbuka.
Temukan MP3 atau file audio lainnya di komputer target dan klik dua kali untuk memutarnya. Kemudian dalam kotak dialog Suara, verifikasi bahwa ada aktivitas dalam indikator tingkat volume yang terkait dengan Microsoft Virtual Audio Device (WDM) - Driver Sampel Sysvad.