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


Метод IAudioEndpointVolume::SetChannelVolumeLevelScalar (endpointvolume.h)

Метод SetChannelVolumeLevelScalar задает нормализованный уровень громкости указанного канала в аудиопотоке, который входит в устройство конечной точки звука или покидает его.

Синтаксис

HRESULT SetChannelVolumeLevelScalar(
  [in] UINT    nChannel,
  [in] float   fLevel,
  [in] LPCGUID pguidEventContext
);

Параметры

[in] nChannel

Номер канала. Если аудиопоток содержит n каналов, каналы нумеруются от 0 до n–1. Чтобы получить количество каналов, вызовите метод IAudioEndpointVolume::GetChannelCount .

[in] fLevel

Уровень громкости. Уровень тома выражается в виде нормализованного значения в диапазоне от 0,0 до 1,0.

[in] pguidEventContext

Значение контекста для метода IAudioEndpointVolumeCallback::OnNotify . Этот параметр указывает на GUID контекста события. Если вызов SetChannelVolumeLevelScalar изменяет уровень громкости конечной точки, все клиенты, которые зарегистрировали интерфейсы IAudioEndpointVolumeCallback с этой конечной точкой, будут получать уведомления. В реализации метода OnNotify клиент может проверить GUID контекста события, чтобы определить, является ли он или другой клиент источником события изменения тома. Если вызывающий объект предоставляет указатель NULL для этого параметра, подпрограмма уведомлений получает значение GUID контекста GUID_NULL.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. Если метод завершается сбоем, возможные коды возврата включают, но не ограничиваются ими, значения, приведенные в следующей таблице.

Код возврата Описание
E_INVALIDARG
Параметр nChannel больше или равен количеству каналов в потоке; или параметр fLevel находится за пределами диапазона от 0,0 до 1,0.
E_OUTOFMEMORY
Недостаточно памяти.

Комментарии

Уровень тома нормализуется в диапазоне от 0,0 до 1,0, где 0,0 — минимальный уровень громкости, а 1,0 — максимальный. В этом диапазоне связь нормализованного уровня громкости с затуханием амплитуды сигнала описывается нелинейной звуковой кривой. Обратите внимание, что форма кривой может измениться в будущих версиях Windows. Дополнительные сведения о кривых с конужением звука см. в разделе Звукоудержимые регуляторы громкости.

Нормализованные уровни громкости, передаваемые этому методу, подходят для представления положений элементов управления громкости в окнах приложений и на экранных дисплеях.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header endpointvolume.h

См. также раздел

Интерфейс IAudioEndpointVolume

IAudioEndpointVolume::GetChannelCount

Интерфейс IAudioEndpointVolumeCallback

IAudioEndpointVolumeCallback::OnNotify