Bagikan melalui


struktur AUDIO_VOLUME_NOTIFICATION_DATA (endpointvolume.h)

Struktur AUDIO_VOLUME_NOTIFICATION_DATA menjelaskan perubahan tingkat volume atau membisukan status perangkat titik akhir audio.

Sintaks

typedef struct AUDIO_VOLUME_NOTIFICATION_DATA {
  GUID  guidEventContext;
  BOOL  bMuted;
  float fMasterVolume;
  UINT  nChannels;
  float afChannelVolumes[1];
} AUDIO_VOLUME_NOTIFICATION_DATA, *PAUDIO_VOLUME_NOTIFICATION_DATA;

Anggota

guidEventContext

Nilai konteks untuk metode IAudioEndpointVolumeCallback::OnNotify . Anggota ini adalah nilai GUID konteks peristiwa yang disediakan sebagai parameter input ke panggilan metode IAudioEndpointVolume yang mengubah tingkat volume titik akhir atau status bisukan. Untuk informasi selengkapnya, lihat Keterangan.

bMuted

Menentukan apakah aliran audio saat ini dimatikan suaranya. Jika bMutedTRUE, aliran akan dimatikan suaranya. Jika FALSE, aliran tidak dimatikan suaranya.

fMasterVolume

Menentukan tingkat volume master aliran audio saat ini. Tingkat volume dinormalisasi ke kisaran dari 0,0 hingga 1,0, di mana 0,0 adalah tingkat volume minimum dan 1,0 adalah tingkat maksimum. Dalam rentang ini, hubungan tingkat volume yang dinormalisasi dengan redaman amplitude sinyal dijelaskan oleh kurva nonlinear dan audio-tapered. Untuk informasi selengkapnya tentang taper audio, lihat Kontrol Volume Audio-Tapered.

nChannels

Menentukan jumlah saluran dalam aliran audio, yang juga merupakan jumlah elemen dalam array afChannelVolumes . Jika aliran audio berisi saluran n , saluran diberi nomor dari 0 hingga n-1. Tingkat volume untuk saluran tertentu terkandung dalam elemen array yang indeksnya cocok dengan nomor saluran.

afChannelVolumes[1]

Elemen pertama dalam array volume saluran. Elemen ini berisi tingkat volume saluran 0 saat ini dalam aliran audio. Jika aliran audio berisi lebih dari satu saluran, tingkat volume untuk saluran tambahan segera mengikuti struktur AUDIO_VOLUME_NOTIFICATION_DATA . Tingkat volume untuk setiap saluran dinormalisasi ke rentang dari 0,0 hingga 1,0, di mana 0,0 adalah tingkat volume minimum dan 1,0 adalah tingkat maksimum. Dalam rentang ini, hubungan tingkat volume yang dinormalisasi dengan redaman amplitude sinyal dijelaskan oleh kurva nonlinear dan audio-tapered.

Keterangan

Struktur ini digunakan oleh metode IAudioEndpointVolumeCallback::OnNotify .

Klien dapat mendaftar untuk diberi tahu ketika tingkat volume atau membisukan status perangkat titik akhir berubah. Metode berikut dapat menyebabkan perubahan seperti itu:

Ketika panggilan ke salah satu metode ini menyebabkan peristiwa perubahan volume (yaitu, perubahan tingkat volume atau status membisukan suara), metode mengirimkan pemberitahuan ke semua klien yang telah mendaftar untuk menerimanya. Metode memberi tahu klien dengan memanggil metode IAudioEndpointVolumeCallback::OnNotify klien. Melalui panggilan OnNotify , klien menerima penunjuk ke struktur AUDIO_VOLUME_NOTIFICATION_DATA yang menjelaskan perubahan.

Setiap metode dalam daftar sebelumnya menerima parameter input bernama pguidEventContext, yang merupakan penunjuk ke GUID konteks peristiwa. Sebelum mengirim pemberitahuan ke klien, metode menyalin GUID konteks peristiwa yang ditunjukkan oleh pguidEventContext ke anggota guidEventContext dari struktur AUDIO_VOLUME_NOTIFICATION_DATA yang disediakannya kepada klien melalui metode OnNotify mereka. Jika pguidEventContext adalah NULL, nilai anggota guidEventContext diatur ke GUID_NULL.

Dalam implementasi metode OnNotify , klien dapat memeriksa GUID konteks peristiwa dari panggilan tersebut untuk menemukan apakah itu atau klien lain adalah sumber peristiwa perubahan volume.

Persyaratan

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

Lihat juga

Struktur Audio Inti

Antarmuka IAudioEndpointVolume

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

Antarmuka IAudioEndpointVolumeCallback

IAudioEndpointVolumeCallback::OnNotify