Antarmuka IAudioEndpointVolumeCallback (endpointvolume.h)

Antarmuka IAudioEndpointVolumeCallback menyediakan pemberitahuan perubahan tingkat volume dan status mematikan suara perangkat titik akhir audio. Tidak seperti antarmuka lain di bagian ini, yang diimplementasikan oleh komponen sistem WASAPI, klien EndpointVolume API mengimplementasikan antarmuka IAudioEndpointVolumeCallback . Untuk menerima pemberitahuan peristiwa, klien meneruskan penunjuk ke antarmuka IAudioEndpointVolumeCallback ke metode IAudioEndpointVolume::RegisterControlChangeNotify .

Setelah mendaftarkan antarmuka IAudioEndpointVolumeCallback , klien menerima pemberitahuan peristiwa dalam bentuk panggilan balik melalui metode OnNotify di antarmuka. Pemberitahuan peristiwa ini terjadi ketika salah satu metode berikut menyebabkan perubahan tingkat volume atau membisukan status perangkat titik akhir:

Jika perangkat titik akhir audio mengimplementasikan volume perangkat keras dan kontrol bisukan, antarmuka IAudioEndpointVolume menggunakan kontrol perangkat keras untuk mengelola volume perangkat. Jika tidak, antarmuka IAudioEndpointVolume mengimplementasikan kontrol volume dan bisukan dalam perangkat lunak, secara transparan kepada klien.

Jika perangkat memiliki volume perangkat keras dan kontrol bisukan, perubahan yang dilakukan pada volume dan pengaturan bisukan melalui metode dalam daftar sebelumnya memengaruhi volume perangkat dalam mode bersama dan mode eksklusif. Jika perangkat tidak memiliki volume perangkat keras dan kontrol bisukan, perubahan yang dilakukan pada volume perangkat lunak dan kontrol bisukan melalui metode ini memengaruhi volume perangkat dalam mode bersama, tetapi tidak dalam mode eksklusif. Dalam mode eksklusif, klien dan perangkat bertukar data audio secara langsung, melewati kontrol perangkat lunak. Namun, perubahan yang dilakukan pada kontrol perangkat lunak melalui metode ini menghasilkan pemberitahuan peristiwa terlepas dari apakah perangkat beroperasi dalam mode bersama atau dalam mode eksklusif. Perubahan yang dilakukan pada volume perangkat lunak dan kontrol bisukan saat perangkat beroperasi dalam mode eksklusif berlaku saat perangkat beralih ke mode bersama.

Untuk menentukan apakah perangkat memiliki volume perangkat keras dan kontrol bisukan, panggil metode IAudioEndpointVolume::QueryHardwareSupport .

Dalam menerapkan antarmuka IAudioEndpointVolumeCallback , klien harus mengamati aturan ini untuk menghindari kebuntuan:

  • Metode dalam antarmuka harus tidak memblokir. Klien tidak boleh menunggu pada objek sinkronisasi selama panggilan balik peristiwa.
  • Klien tidak boleh memanggil metode IAudioEndpointVolume::UnregisterControlChangeNotify selama panggilan balik peristiwa.
  • Klien tidak boleh merilis referensi akhir pada objek API EndpointVolume selama panggilan balik peristiwa.
Untuk contoh kode yang mengimplementasikan antarmuka IAudioEndpointVolumeCallback , lihat Kontrol Volume Titik Akhir.

Warisan

Antarmuka IAudioEndpointVolumeCallback mewarisi dari antarmuka IUnknown . IAudioEndpointVolumeCallback juga memiliki jenis anggota berikut:

Metode

Antarmuka IAudioEndpointVolumeCallback memiliki metode ini.

 
IAudioEndpointVolumeCallback::OnNotify

Metode OnNotify memberi tahu klien bahwa tingkat volume atau status mematikan suara perangkat titik akhir audio telah berubah.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header endpointvolume.h

Lihat juga

Antarmuka Audio Inti

EndpointVolume API

IAudioEndpointVolume::RegisterControlChangeNotify

IAudioEndpointVolume::UnregisterControlChangeNotify