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
指定音频流当前是否静音。 如果 bMuted 为 TRUE,则流将被静音。 如果 为 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 方法使用。
客户端可以注册,以在终结点设备的卷级别或静音状态更改时收到通知。 以下方法可能会导致此类更改:
- IAudioEndpointVolume::SetChannelVolumeLevel
- IAudioEndpointVolume::SetChannelVolumeLevelScalar
- IAudioEndpointVolume::SetMasterVolumeLevel
- IAudioEndpointVolume::SetMasterVolumeLevelScalar
- IAudioEndpointVolume::SetMute
- IAudioEndpointVolume::VolumeStepDown
- IAudioEndpointVolume::VolumeStepUp
上述列表中的每种方法都接受名为 pguidEventContext 的输入参数,该参数是指向事件上下文 GUID 的指针。 在向客户端发送通知之前, 方法将 pguidEventContext 指向的事件上下文 GUID 复制到它通过其 OnNotify 方法提供给客户端的 AUDIO_VOLUME_NOTIFICATION_DATA 结构的 guidEventContext 成员中。 如果 pguidEventContext 为 NULL,则 guidEventContext 成员的值设置为 GUID_NULL。
在 OnNotify 方法的实现中,客户端可以从该调用检查事件上下文 GUID,以发现它还是另一个客户端是卷更改事件的源。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
标头 | endpointvolume.h |
另请参阅
IAudioEndpointVolume::SetChannelVolumeLevel
IAudioEndpointVolume::SetChannelVolumeLevelScalar
IAudioEndpointVolume::SetMasterVolumeLevel
IAudioEndpointVolume::SetMasterVolumeLevelScalar
IAudioEndpointVolume::VolumeStepDown
IAudioEndpointVolume::VolumeStepUp