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


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

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

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

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

При освобождении экземпляра интерфейса IAudioStreamVolume клиент должен вызвать метод Release интерфейса из того же потока, что и вызов IAudioClient::GetService , создавший объект .

Интерфейс IAudioStreamVolume управляет громкостью каналов в аудиопотоке общего режима. Этот интерфейс не работает с потоками в монопольном режиме. Сведения об элементах управления громкостью для потоков в монопольном режиме см. в разделе API EndpointVolume.

Наследование

Интерфейс IAudioStreamVolume наследуется от интерфейса IUnknown . IAudioStreamVolume также имеет следующие типы элементов:

Методы

Интерфейс IAudioStreamVolume содержит следующие методы.

 
IAudioStreamVolume::GetAllVolumes

Метод GetAllVolumes извлекает уровни громкости для всех каналов в аудиопотоке.
IAudioStreamVolume::GetChannelCount

Метод GetChannelCount извлекает количество каналов в аудиопотоке.
IAudioStreamVolume::GetChannelVolume

Метод GetChannelVolume извлекает уровень громкости для указанного канала в аудиопотоке.
IAudioStreamVolume::SetAllVolumes

Метод SetAllVolumes задает отдельные уровни громкости для всех каналов в аудиопотоке.
IAudioStreamVolume::SetChannelVolume

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

Требования

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

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

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

IAudioClient::GetService

Интерфейс IChannelAudioVolume

Интерфейс ISimpleAudioVolume

WASAPI