共用方式為


AUDIO_VOLUME_NOTIFICATION_DATA 結構 (endpointvolume.h)

AUDIO_VOLUME_NOTIFICATION_DATA 結構描述音訊端點裝置音量層級或靜音狀態的變更。

語法

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;

成員

guidEventContext

IAudioEndpointVolumeCallback::OnNotify 方法的內容值。 這個成員是事件內容 GUID 的值,這個 GUID 是以 IAudioEndpointVolume 方法呼叫的形式提供給變更端點磁碟區層級或靜音狀態的輸入參數。 如需詳細資訊,請參閱<備註>。

bMuted

指定音訊數據流目前是否為靜音。 如果 bMutedTRUE,則數據流會設為靜音。 如果 為 FALSE,則數據流不會設為靜音。

fMasterVolume

指定音訊數據流目前的主要音量層級。 磁碟區層級會正規化為0.0到1.0的範圍,其中0.0是最小磁碟區層級,而1.0是最高層級。 在此範圍內,正規化音量層級與訊號幅度衰減的關聯性是由非線性的音訊磁帶曲線所描述。 如需音訊點選器的詳細資訊,請參閱 音訊磁帶音量控件

nChannels

指定音訊數據流中的通道數目,這也是 afChannelVolumes 陣列中的元素數目。 如果音訊數據流包含 n 個通道,則通道編號為 0 到 n-1。 特定通道的磁碟區層級包含在索引符合通道號碼的陣列元素中。

afChannelVolumes[1]

通道磁碟區陣列中的第一個專案。 這個專案包含音訊數據流中信道0的目前音量層級。 如果音訊數據流包含多個通道,其他通道的音量層級會緊接在 AUDIO_VOLUME_NOTIFICATION_DATA 結構之後。 每個通道的磁碟區層級都會正規化為0.0到1.0的範圍,其中0.0是最小磁碟區層級,而1.0是最大層級。 在此範圍內,正規化音量層級與訊號幅度衰減的關聯性是由非線性的音訊磁帶曲線所描述。

備註

IAudioEndpointVolumeCallback::OnNotify 方法會使用此結構。

用戶端可以註冊,以在端點裝置的磁碟區層級或靜音狀態變更時收到通知。 下列方法可能會導致這類變更:

當呼叫其中一種方法會導致磁碟區變更事件 (也就是磁碟區層級變更或靜音狀態) 時,此方法會將通知傳送給已註冊來接收它們的所有用戶端。 方法會呼叫用戶端的 IAudioEndpointVolumeCallback::OnNotify 方法,以通知用戶端。 透過 OnNotify 呼叫,用戶端會收到描述變更 之AUDIO_VOLUME_NOTIFICATION_DATA 結構的指標。

上述清單中的每一種方法都接受名為 pguidEventContext的輸入參數,這是事件內容 GUID 的指標。 將通知傳送給用戶端之前,方法會將pguidEventContext所指向的事件內容 GUID 複製到其透過 OnNotify 方法提供給用戶端之AUDIO_VOLUME_NOTIFICATION_DATA結構的 guidEventContext 成員。 如果 pguidEventContextNULL,guidEventContext 成員的值會設定為 GUID_NULL。

OnNotify 方法的實作中,用戶端可以從該呼叫檢查事件內容 GUID,以探索它或另一個用戶端是否為磁碟區變更事件的來源。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
標頭 endpointvolume.h

另請參閱

核心音訊結構

IAudioEndpointVolume 介面

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

IAudioEndpointVolumeCallback 介面

IAudioEndpointVolumeCallback::OnNotify