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


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

Интерфейс ISimpleAudioVolume позволяет клиенту управлять уровнем громкости master звукового сеанса. Метод IAudioClient::Initialize инициализирует объект потока и назначает поток звуковому сеансу. Клиент получает ссылку на интерфейс ISimpleAudioVolume в объекте потока, вызывая метод IAudioClient::GetService с параметром riid , равным REFIID IID_ISimpleAudioVolume.

Кроме того, клиент может получить интерфейс ISimpleAudioVolume существующего сеанса без предварительного создания объекта потока и добавления потока в сеанс. Вместо этого клиент вызывает метод IAudioSessionManager::GetSimpleAudioVolume с идентификатором GUID сеанса.

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

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

Типичные звуковые приложения не изменяют уровни громкости сеансов. Вместо этого они полагаются на то, что пользователи задают эти уровни тома с помощью программы Sndvol. Sndvol изменяет только master уровней громкости сеансов. По умолчанию диспетчер сеансов устанавливает для уровня тома master значение 1,0 при начальной активации сеанса. Последующие изменения тома sndvol или другими клиентами являются постоянными при перезагрузке компьютера.

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

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

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

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

Методы

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

 
ISimpleAudioVolume::GetMasterVolume

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

Метод GetMute извлекает текущее состояние отключения звука для звукового сеанса.
ISimpleAudioVolume::SetMasterVolume

Метод SetMasterVolume задает уровень громкости master для звукового сеанса.
ISimpleAudioVolume::SetMute

Метод SetMute задает состояние отключения звука для звукового сеанса.

Требования

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

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

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

IAudioClient::GetService

IAudioClient::Initialize

Интерфейс IAudioStreamVolume

Интерфейс IChannelAudioVolume

WASAPI