структура 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 контекста события, который был предоставлен в качестве входного параметра для вызова метода IAudioEndpointVolume , который изменил уровень тома конечной точки или состояние отключения. Дополнительные сведения см. в подразделе "Примечания".
bMuted
Указывает, отключен ли звуковой поток в данный момент. Если параметр bMuted имеет значение TRUE, поток отключен. Если значение FALSE, поток не отключен.
fMasterVolume
Указывает текущий уровень громкости master звукового потока. Уровень тома нормализуется в диапазоне от 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 контекста события. Перед отправкой уведомлений клиентам метод копирует GUID контекста события, на который указывает pguidEventContext , в элемент guidEventContextструктуры AUDIO_VOLUME_NOTIFICATION_DATA , которую он предоставляет клиентам с помощью методов OnNotify . Если pguidEventContext имеет значение NULL, то для элемента guidEventContext устанавливается значение GUID_NULL.
В реализации метода OnNotify клиент может проверить идентификатор GUID контекста события из этого вызова, чтобы определить, является ли он или другой клиент источником события изменения тома.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Верхняя часть | endpointvolume.h |
См. также раздел
Интерфейс IAudioEndpointVolume
IAudioEndpointVolume::SetChannelVolumeLevel
IAudioEndpointVolume::SetChannelVolumeLevelScalar
IAudioEndpointVolume::SetMasterVolumeLevel
IAudioEndpointVolume::SetMasterVolumeLevelScalar
IAudioEndpointVolume::VolumeStepDown
IAudioEndpointVolume::VolumeStepUp