Menyediakan Perilaku Bebek Kustom

Aplikasi dapat menolak Pengalaman Bebek Default yang ditangani oleh sistem dan menggantinya dengan implementasi kustom.

Aplikasi dapat memberikan pengalaman bebek kustom. Misalnya, Pemutar Media Windows memberikan pengalaman bebeknya sendiri dengan menjeda aliran media saat ini selama sesi komunikasi dan memulai kembali pemutaran saat sesi ditutup. Aplikasi media sampel yang mengimplementasikan ducking disertakan dengan sampel Windows SDK; untuk informasi selengkapnya, lihat DuckingMediaPlayer. Untuk mensimulasikan pengalaman membuka dan menutup aliran komunikasi, dan menghasilkan peristiwa bebek, lihat DuckingCaptureSample, yang juga disertakan dengan sampel Windows SDK.

Aplikasi media yang memutar suara yang akan dilemahkan harus mengetahui aliran komunikasi, ketika dibuka dan ditutup dalam sistem. Implementasi kustom dapat disediakan dengan menggunakan MediaFoundation, DirectShow, atau DirectSound, yang menggunakan API Core Audio. Klien WASAPI langsung juga dapat mengambil alih penanganan default jika tahu kapan sesi komunikasi dimulai dan berakhir.

Untuk memberikan pengalaman bebek kustom, klien WASAPI harus melakukan tugas-tugas berikut:

  1. Daftar untuk menerima peristiwa bebek dari manajer bebek—komponen sistem audio yang menangani pemberitahuan yang terkait dengan perubahan aliran komunikasi. Untuk informasi selengkapnya, Mendapatkan Peristiwa Bebek.

    Catatan

    Jika klien terdaftar untuk menerima pemberitahuan bebek, manajer bebek menonaktifkan perilaku default yang disediakan oleh sistem. Jika perilaku default dinonaktifkan secara eksplisit (lihat Menonaktifkan Pengalaman Bebek Default) dan klien tidak memberikan perilaku pengganti, aplikasi tidak mengalami perilaku menunduk apa pun.

     

  2. Dengarkan pemberitahuan peristiwa bebek yang dikirim oleh manajer bebek dan lakukan perilaku bebek yang diinginkan. Untuk informasi selengkapnya tentang menerapkan perilaku bebek, lihat Pertimbangan Implementasi untuk Pemberitahuan Bebek.

Menggunakan Perangkat Komunikasi

Pengalaman Bebek Default

Menonaktifkan Pengalaman Bebek Default

Pertimbangan Implementasi untuk Pemberitahuan Bebek

Mendapatkan Acara Bebek