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.
Aplikasi sampel ini menggunakan API Audio Inti untuk merender data audio ke perangkat output yang ditentukan oleh pengguna. Sampel ini menunjukkan buffering berbasis timer untuk klien rendering dalam mode eksklusif. Untuk aliran mode eksklusif, klien berbagi buffer titik akhir dengan perangkat audio.
Topik ini berisi bagian berikut.
- Deskripsi
- Persyaratan
- Mengunduh Sampel
- Membangun Sampel
- Menampilkan File Sampel
- Topik terkait
Deskripsi
Sampel ini menunjukkan fitur berikut.
- MMDevice API untuk enumerasi dan pemilihan perangkat multimedia.
- WASAPI untuk operasi manajemen aliran.
Persyaratan
| Hasil | Versi |
|---|---|
| Windows SDK | Windows 7 |
| Visual Studio | 2008 |
Mengunduh Sampel
Sampel ini tersedia di lokasi berikut.
| Tempat | Jalur/URL |
|---|---|
| Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\RenderExclusiveTimerDriven\... |
Membangun Sampel
Untuk membuat sampel RenderExclusiveTimerDriven, gunakan langkah-langkah berikut:
- Buka shell CMD untuk Windows SDK dan ubah ke direktori sampel RenderExclusiveTimerDriven.
- Jalankan perintah
start WASAPIRenderExclusiveTimerDriven.slndi direktori RenderExclusiveTimerDriven untuk membuka proyek WASAPIRenderExclusiveTimerDriven di jendela Visual Studio. - Dari dalam jendela, pilih konfigurasi solusi Debug atau Rilis, pilih menu Build dari bilah menu, dan pilih opsi Build. Jika Anda tidak membuka Visual Studio dari shell CMD untuk SDK, Visual Studio tidak akan memiliki akses ke lingkungan build SDK. Dalam hal ini, sampel tidak akan dibuat kecuali Anda secara eksplisit mengatur variabel lingkungan MSSdk, yang digunakan dalam file proyek, WASAPIRenderExclusiveTimerDriven.vcproj.
Menampilkan File Sampel
Jika Anda berhasil membangun aplikasi demo, file yang dapat dieksekusi, WASAPIRenderExclusiveTimerDriven.exe, dihasilkan. Untuk menjalankannya, ketik WASAPIRenderExclusiveTimerDriven di jendela perintah diikuti oleh argumen yang diperlukan atau opsional. Contoh berikut menunjukkan cara menjalankan sampel dengan menentukan durasi pemutaran pada perangkat konsol default.
WASAPIRenderExclusiveTimerDriven.exe -d 20 -console
Tabel berikut ini memperlihatkan argumen.
| Argumen | Deskripsi |
|---|---|
| -? | Menampilkan bantuan. |
| -h | Menampilkan bantuan. |
| -f | Frekuensi gelombang sinus di Hz. |
| -L | Latensi render audio dalam milidetik. |
| -d | Durasi gelombang sinus dalam hitungan detik. |
| -m | Menonaktifkan penggunaan MMCSS. |
| -Konsol | Gunakan perangkat konsol default. |
| -Komunikasi | Gunakan perangkat komunikasi default. |
| -Multimedia | Gunakan perangkat multimedia default. |
| -Endpoint | Gunakan pengidentifikasi titik akhir yang ditentukan dalam nilai pengalihan. |
Jika aplikasi dijalankan tanpa argumen, aplikasi menghitung perangkat yang tersedia dan meminta pengguna untuk memilih perangkat untuk sesi penyajian. Setelah pengguna menentukan perangkat, aplikasi merender gelombang sinus pada 440 Hz selama 10 detik. Nilai-nilai ini dapat dimodifikasi dengan menentukan nilai sakelar -f dan -d.
RenderExclusiveTimerDriven menunjukkan buffering berbasis timer. Dalam mode ini, klien harus menunggu periode waktu (setengah latensi, yang ditentukan oleh nilai sakelar -d, dalam milidetik). Ketika klien bangun, setengah jalan melalui periode pemrosesan, klien menarik serangkaian sampel berikutnya dari mesin. Sebelum setiap pemrosesan lulus dalam perulangan buffering, klien harus mencari tahu jumlah data yang akan dirender sehingga data tidak menimpa buffer.
Data audio yang akan diputar pada perangkat yang ditentukan dapat diproses dengan mengaktifkan buffering berbasis peristiwa. Mode ini ditunjukkan dalam sampel RenderExclusiveTimerDriven.
Untuk informasi selengkapnya tentang penyajian stream, lihat Merender Stream.
Topik terkait