Metode IChannelAudioVolume::SetAllVolumes (audioclient.h)

Metode SetAllVolumes mengatur tingkat volume individual untuk semua saluran dalam sesi audio.

Sintaks

HRESULT SetAllVolumes(
  [in] UINT32      dwCount,
  [in] const float *pfVolumes,
  [in] LPCGUID     EventContext
);

Parameter

[in] dwCount

Jumlah elemen dalam array pfVolumes . Parameter ini harus sama dengan jumlah saluran dalam format aliran untuk sesi audio. Untuk mendapatkan jumlah saluran, hubungi metode IChannelAudioVolume::GetChannelCount .

[in] pfVolumes

Arahkan ke array tingkat volume untuk saluran dalam sesi audio. Jumlah elemen dalam array pfVolumes ditentukan oleh parameter dwCount . Pemanggil menulis tingkat volume untuk setiap saluran ke elemen array yang indeksnya cocok dengan nomor saluran. Jika format aliran untuk sesi audio memiliki saluran N , saluran diberi nomor dari 0 hingga N– 1. Tingkat volume yang valid berada dalam rentang 0,0 hingga 1,0.

[in] EventContext

Arahkan ke GUID konteks peristiwa. Jika panggilan ke metode ini menghasilkan peristiwa perubahan volume saluran, manajer sesi mengirimkan pemberitahuan ke semua klien yang telah mendaftarkan antarmuka IAudioSessionEvents dengan manajer sesi. Manajer sesi menyertakan nilai pointer EventContext dengan setiap pemberitahuan. Setelah menerima pemberitahuan, klien dapat menentukan apakah itu atau klien lain adalah sumber peristiwa dengan memeriksa nilai EventContext . Skema ini tergantung pada klien yang memilih nilai untuk parameter ini yang unik di antara semua klien dalam sesi. Jika penelepon menyediakan penunjuk NULL untuk parameter ini, metode pemberitahuan klien menerima penunjuk konteks NULL .

Nilai kembali

Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kemungkinan kode pengembalian disertakan, tetapi tidak terbatas pada, nilai yang diperlihatkan dalam tabel berikut.

Menampilkan kode Deskripsi
E_INVALIDARG
Parameter dwCount tidak sama dengan jumlah saluran dalam format aliran untuk sesi audio, atau nilai elemen array pfVolumes tidak berada dalam rentang 0,0 hingga 1,0.
E_POINTER
Parameter pfVolumes adalah NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Perangkat titik akhir audio telah dicabut, atau perangkat keras audio atau sumber daya perangkat keras terkait telah dikonfigurasi ulang, dinonaktifkan, dihapus, atau tidak tersedia untuk digunakan.
AUDCLNT_E_SERVICE_NOT_RUNNING
Layanan audio Windows tidak berjalan.

Keterangan

Metode ini, jika berhasil, menghasilkan peristiwa perubahan volume saluran terlepas dari apakah salah satu tingkat volume saluran baru berbeda nilainya dari tingkat volume saluran sebelumnya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header audioclient.h

Lihat juga

Antarmuka IAudioSessionEvents

Antarmuka IChannelAudioVolume

IChannelAudioVolume::GetChannelCount