Bagikan melalui


Kontrol Volume

Klien yang mengelola aliran mode bersama biasanya menggunakan antarmuka ISimpleAudioVolume dan IAudioSessionEvents di WASAPI untuk mengontrol dan memantau tingkat volume aliran. Melalui metode di antarmuka ISimpleAudioVolume , klien dapat mendapatkan dan mengatur tingkat volume sesi audio tempat streaming mode bersama berada. Jika Sndvol atau aplikasi lain mengubah tingkat volume sesi, klien dapat menerima pemberitahuan perubahan melalui antarmuka IAudioSessionEvents .

Klien yang mengelola aliran mode eksklusif biasanya menggunakan antarmuka IAudioEndpointVolume dan IAudioEndpointVolumeCallback di Api EndpointVolume untuk mengontrol dan memantau tingkat volume aliran. Melalui metode di antarmuka IAudioEndpointVolume , klien bisa mendapatkan dan mengatur tingkat volume perangkat titik akhir audio. Jika Sndvol atau aplikasi lain mengubah tingkat volume perangkat titik akhir, klien dapat menerima pemberitahuan perubahan melalui antarmuka IAudioEndpointVolumeCallback .

Seperti yang dijelaskan dalam Sesi Audio, Sndvol adalah program kontrol volume sistem. Ini menampilkan kontrol volume untuk perangkat titik akhir penyajian audio dalam sistem. (Saat ini, ini tidak menampilkan kontrol volume untuk perangkat titik akhir pengambilan audio.) Untuk melihat kontrol volume untuk perangkat tertentu, klik Perangkat di bilah menu dan pilih nama perangkat dari daftar perangkat yang tersedia.

Jendela Sndvol memisahkan kontrol volume untuk perangkat menjadi dua grup. Kotak grup di sisi kiri jendela diberi label Perangkat. Kotak Perangkat berisi kontrol volume tunggal yang dikontrol oleh antarmuka IAudioEndpointVolume . Perubahan yang dilakukan pengguna pada kontrol volume ini dapat dipantau melalui antarmuka IAudioEndpointVolumeCallback.

Kotak grup di sisi kanan jendela Sndvol diberi label Aplikasi. Kotak Aplikasi berisi kontrol volume untuk aplikasi yang saat ini berbagi perangkat. Untuk aplikasi yang menggunakan perangkat dalam mode bersama, kontrol volume mewakili tingkat volume yang dikontrol oleh antarmuka ISimpleAudioVolume. Perubahan yang dilakukan pengguna pada kontrol volume ini dapat dipantau melalui antarmuka IAudioSessionEvents.

Meskipun aplikasi mode bersama dapat menggunakan antarmuka IAudioSessionEvents untuk memantau perubahan yang dilakukan pengguna ke kontrol volume aplikasi di kotak Aplikasi di jendela Sndvol, aplikasi tidak dapat memantau perubahan pada kontrol volume aplikasi lain yang tidak terkait. Demikian pula, aplikasi dapat mengubah tingkat volume sesi audionya melalui antarmuka ISimpleAudioVolume , tetapi tidak dapat mengubah tingkat volume sesi yang termasuk dalam aplikasi lain yang tidak terkait.

Namun, dua atau lebih aplikasi terkait (atau instans aplikasi yang sama) dapat berbagi kontrol volume yang sama dalam kotak Aplikasi di jendela Sndvol baik dengan menetapkan aliran audio mereka ke sesi lintas proses yang sama atau dengan mengaitkan sesi masing-masing dengan parameter pengelompokan yang sama. Untuk informasi selengkapnya, lihat Sesi Audio dan Parameter Pengelompokan.

WASAPI menyediakan dua antarmuka tambahan, IChannelAudioVolume dan IAudioStreamVolume, untuk mengontrol tingkat volume aliran mode bersama. Antarmuka ini terutama digunakan oleh klien khusus yang memerlukan kontrol atas tingkat volume saluran individual dalam sesi atau aliran individual dalam sesi.

API DeviceTopology memungkinkan klien mengakses kontrol volume di topologi adaptor audio. Namun, klien yang mengelola aliran mode eksklusif biasanya menggunakan Api EndpointVolume alih-alih API DeviceTopology untuk mengontrol tingkat volume aliran. Api EndpointVolume menyederhanakan kontrol volume perangkat titik akhir dengan dua cara. Pertama, jika perangkat titik akhir menerapkan kontrol volume perangkat keras, API DeviceTopology mengharuskan klien untuk melintasi topologi perangkat untuk mencari kontrol perangkat keras. Sebaliknya, API EndpointVolume secara otomatis menemukan kontrol volume perangkat keras untuk klien. Kedua, jika perangkat titik akhir tidak menerapkan kontrol volume perangkat keras, klien DeviceTopology harus menerapkan kontrol volume dalam perangkat lunak. Sebaliknya, API EndpointVolume secara otomatis menggantikan kontrol volume perangkat lunak untuk kontrol perangkat keras yang hilang.

Bagian berikut menjelaskan kontrol volume untuk sesi audio dan untuk perangkat titik akhir audio:

Panduan Pemrograman