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


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

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

Синтаксис

HRESULT SetChannelVolumeLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

Параметры

[in] nChannel

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

[in] fLevelDB

Новый уровень громкости в децибелах. Чтобы получить диапазон и степень детализации уровней тома, которые могут быть заданы этим методом, вызовите метод IAudioEndpointVolume::GetVolumeRange .

[in] pguidEventContext

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

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

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

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

Комментарии

Если уровень тома fLevelDB выходит за пределы диапазона томов, сообщаемого методом IAudioEndpointVolume::GetVolumeRange , вызов SetChannelVolumeLevel завершается ошибкой и возвращает код ошибки E_INVALIDARG.

Требования

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

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

Интерфейс IAudioEndpointVolume

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolume::GetVolumeRange

Интерфейс IAudioEndpointVolumeCallback

IAudioEndpointVolumeCallback::OnNotify