Поделиться через


структура 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 .

Клиент может зарегистрироваться, чтобы получать уведомления при изменении уровня громкости или отключения звука устройства конечной точки. Следующие методы могут привести к такому изменению:

Когда вызов одного из этих методов вызывает событие изменения тома (т. е. изменение уровня тома или состояние отключения звука), метод отправляет уведомления всем клиентам, зарегистрированным для их получения. Метод уведомляет клиента, вызывая метод IAudioEndpointVolumeCallback::OnNotify клиента. Через вызов OnNotify клиент получает указатель на структуру AUDIO_VOLUME_NOTIFICATION_DATA , описывающую изменение.

Каждый из методов в предыдущем списке принимает входной параметр с именем 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::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

Интерфейс IAudioEndpointVolumeCallback

IAudioEndpointVolumeCallback::OnNotify