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 方法的上下文值。 此成员是作为输入参数提供给更改终结点卷级别或静音状态的 IAudioEndpointVolume 方法调用的事件上下文 GUID 的值。 有关详细信息,请参阅“备注”。

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