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


Метод IChannelAudioVolume::SetChannelVolume (audioclient.h)

Метод SetChannelVolume задает уровень громкости для указанного канала в звуковом сеансе.

Синтаксис

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

Параметры

[in] dwIndex

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

[in] fLevel

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

[in] EventContext

Указатель на GUID контекста события. Если вызов этого метода создает событие channel-volume-change, диспетчер сеансов отправляет уведомления всем клиентам, которые зарегистрировали интерфейсы IAudioSessionEvents с диспетчером сеансов. Диспетчер сеансов включает значение указателя EventContext с каждым уведомлением. Получив уведомление, клиент может определить, является ли он или другой клиент источником события, проверив значение EventContext . Эта схема зависит от того, выбирает клиент значение для этого параметра, уникальное для всех клиентов в сеансе. Если вызывающий объект предоставляет указатель NULL для этого параметра, метод уведомления клиента получает указатель контекста NULL .

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

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

Код возврата Описание
E_INVALIDARG
Параметр dwIndex имеет недопустимый номер канала, или параметр fLevel не находится в диапазоне от 0,0 до 1.0.
AUDCLNT_E_DEVICE_INVALIDATED
Устройство конечной точки звука было отключено, или звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или иным образом стали недоступными для использования.
AUDCLNT_E_SERVICE_NOT_RUNNING
Аудиослужба Windows не запущена.

Комментарии

При успешном выполнении этого метода создается событие изменения объема канала независимо от того, отличается ли новый уровень тома канала по значению от предыдущего.

Требования

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

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

Интерфейс IAudioSessionEvents

Интерфейс IChannelAudioVolume

IChannelAudioVolume::GetChannelCount