Интерфейс IChannelAudioVolume (audioclient.h)
Интерфейс IChannelAudioVolume позволяет клиенту контролировать уровни громкости для всех каналов звукового сеанса , к которым принадлежит поток. Это сеанс, которому клиент назначил поток во время вызова метода IAudioClient::Initialize . Клиент получает ссылку на интерфейс IChannelAudioVolume в объекте потока путем вызова метода IAudioClient::GetService с параметром riid , равным REFIID IID_IChannelAudioVolume.
Уровень эффективного объема любого канала в подмиксе сеанса, как было заслушано у выступающих, является результатом следующих четырех факторов на уровне тома:
- Уровни объема потоков в сеансе для каждого канала, которыми клиенты могут управлять с помощью методов в интерфейсе IAudioStreamVolume .
- Уровень громкости для каждого канала сеанса, которым клиенты могут управлять с помощью методов в интерфейсе IChannelAudioVolume .
- Уровень master тома сеанса, которым клиенты могут управлять с помощью методов в интерфейсе ISimpleAudioVolume.
- Уровень тома сеанса на основе политики, который система динамически назначает сеансу при изменении глобального набора.
Типичные звуковые приложения не изменяют уровни громкости сеансов. Вместо этого они полагаются на пользователей для установки этих уровней тома с помощью программы Sndvol. Sndvol изменяет только master уровней громкости сеансов. По умолчанию при начальной активации сеанса диспетчер сеансов устанавливает для уровней тома для каждого канала значение 1.0. Последующие изменения тома по каналу клиентами сохраняются при перезагрузке компьютера.
При освобождении экземпляра интерфейса IChannelAudioVolume клиент должен вызвать метод Release интерфейса из того же потока, что и вызов IAudioClient::GetService , создавшего объект .
Интерфейс IChannelAudioVolume управляет громкостью каналов в звуковом сеансе. Аудиосеанс — это коллекция потоков общего режима. Этот интерфейс не работает с потоками в монопольном режиме. Сведения об элементах управления громкостью для потоков в монопольном режиме см. в разделе API EndpointVolume.
Наследование
Интерфейс IChannelAudioVolume наследуется от интерфейса IUnknown . IChannelAudioVolume также имеет следующие типы элементов:
Методы
Интерфейс IChannelAudioVolume содержит следующие методы.
IChannelAudioVolume::GetAllVolumes Метод GetAllVolumes извлекает уровни громкости для всех каналов в звуковом сеансе. |
IChannelAudioVolume::GetChannelCount Метод GetChannelCount извлекает количество каналов в формате потока для звукового сеанса. |
IChannelAudioVolume::GetChannelVolume Метод GetChannelVolume извлекает уровень громкости для указанного канала в звуковом сеансе. |
IChannelAudioVolume::SetAllVolumes Метод SetAllVolumes задает отдельные уровни громкости для всех каналов в звуковом сеансе. |
IChannelAudioVolume::SetChannelVolume Метод SetChannelVolume задает уровень громкости для указанного канала в звуковом сеансе. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | audioclient.h |