IAudioSessionEvents::OnChannelVolumeChanged method (audiopolicy.h)
Metode OnChannelVolumeChanged memberi tahu klien bahwa tingkat volume saluran audio dalam submix sesi telah berubah.
Sintaks
HRESULT OnChannelVolumeChanged(
[in] DWORD ChannelCount,
[in] float [] NewChannelVolumeArray,
[in] DWORD ChangedChannel,
[in] LPCGUID EventContext
);
Parameter
[in] ChannelCount
Jumlah saluran. Parameter ini menentukan jumlah saluran audio dalam submix sesi.
[in] NewChannelVolumeArray
Penunjuk ke array tingkat volume. Setiap elemen adalah nilai jenis float yang menentukan tingkat volume untuk saluran tertentu. Setiap tingkat volume adalah nilai dalam rentang 0,0 hingga 1,0, di mana 0,0 diam dan 1,0 adalah volume penuh (tanpa redaman). Jumlah elemen dalam array ditentukan oleh parameter ChannelCount . Jika aliran audio berisi saluran n , saluran diberi nomor dari 0 hingga n– 1. Elemen array yang indeksnya cocok dengan nomor saluran, berisi tingkat volume untuk saluran tersebut. Asumsikan bahwa array tetap valid hanya selama durasi panggilan.
[in] ChangedChannel
Jumlah saluran yang tingkat volumenya berubah. Gunakan nilai ini sebagai indeks ke dalam array NewChannelVolumeArray . Jika submix sesi berisi saluran n , saluran diberi nomor dari 0 hingga n– 1. Jika lebih dari satu saluran mungkin telah berubah (misalnya, sebagai akibat dari panggilan ke metode IChannelAudioVolume::SetAllVolumes ), nilai ChangedChannel adalah (DWORD)(–1).
[in] EventContext
Nilai konteks peristiwa. Ini adalah nilai yang sama dengan yang diteruskan pemanggil ke metode IChannelAudioVolume::SetChannelVolume atau IChannelAudioVolume::SetAllVolumes dalam panggilan yang memulai perubahan tingkat volume saluran. Untuk informasi selengkapnya, lihat Keterangan.
Menampilkan nilai
Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kode kesalahan akan dikembalikan.
Keterangan
Manajer sesi memanggil metode ini setiap kali panggilan ke metode IChannelAudioVolume::SetChannelVolume atau IChannelAudioVolume::SetAllVolumes berhasil memperbarui tingkat volume satu atau beberapa saluran dalam submix sesi. Perhatikan bahwa panggilan OnChannelVolumeChanged terjadi terlepas dari apakah tingkat volume saluran baru atau tingkat berbeda nilai dari tingkat volume saluran atau tingkat sebelumnya.
Parameter EventContext menyediakan sarana bagi klien untuk membedakan antara perubahan volume saluran yang dimulainya dan yang dimulai oleh beberapa klien lain. Saat memanggil metode IChannelAudioVolume::SetChannelVolume atau IChannelAudioVolume::SetAllVolumes , klien meneruskan nilai parameter EventContext yang dapat dikenali implementasi metode OnChannelVolumeChanged .
Untuk contoh kode yang mengimplementasikan metode di antarmuka IAudioSessionEvents , lihat Peristiwa Sesi Audio.
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 | audiopolicy.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk