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


Интерфейс IChannelAudioVolume (audioclient.h)

Интерфейс IChannelAudioVolume позволяет клиенту контролировать уровни громкости для всех каналов звукового сеанса , к которым принадлежит поток. Это сеанс, которому клиент назначил поток во время вызова метода IAudioClient::Initialize . Клиент получает ссылку на интерфейс IChannelAudioVolume в объекте потока путем вызова метода IAudioClient::GetService с параметром riid , равным REFIID IID_IChannelAudioVolume.

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

  • Уровни объема потоков в сеансе для каждого канала, которыми клиенты могут управлять с помощью методов в интерфейсе IAudioStreamVolume .
  • Уровень громкости для каждого канала сеанса, которым клиенты могут управлять с помощью методов в интерфейсе IChannelAudioVolume .
  • Уровень master тома сеанса, которым клиенты могут управлять с помощью методов в интерфейсе ISimpleAudioVolume.
  • Уровень тома сеанса на основе политики, который система динамически назначает сеансу при изменении глобального набора.
Каждый из четырех факторов уровня тома в предыдущем списке является значением в диапазоне от 0,0 до 1,0, где 0,0 означает тишину, а 1,0 — полный объем (без затухания). Действующий уровень тома также является значением в диапазоне от 0,0 до 1,0.

Типичные звуковые приложения не изменяют уровни громкости сеансов. Вместо этого они полагаются на пользователей для установки этих уровней тома с помощью программы 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

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

Основные звуковые интерфейсы

IAudioClient::GetService

IAudioClient::Initialize

Интерфейс IAudioStreamVolume

Интерфейс ISimpleAudioVolume

WASAPI