Интерфейс IAudioSessionEvents (audiopolicy.h)

Интерфейс IAudioSessionEvents предоставляет уведомления о событиях, связанных с сеансом, таких как изменения уровня тома, отображаемого имени и состояния сеанса. В отличие от других интерфейсов в этом разделе, реализованных системным компонентом WASAPI, клиент WASAPI реализует интерфейс IAudioSessionEvents . Чтобы получать уведомления о событиях, клиент передает указатель на свой интерфейс IAudioSessionEvents в метод IAudioSessionControl::RegisterAudioSessionNotification .

После регистрации интерфейса IAudioClientSessionEvents клиент получает уведомления о событиях в виде обратных вызовов через методы в интерфейсе .

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

  • Методы в интерфейсе должны быть неблокировными. Клиент никогда не должен ждать объекта синхронизации во время обратного вызова события.
  • Клиент никогда не должен вызывать метод IAudioSessionControl::UnregisterAudioSessionNotification во время обратного вызова события.
  • Клиент никогда не должен освобождать окончательную ссылку на объект WASAPI во время обратного вызова события.
Пример кода, реализующий интерфейс IAudioSessionEvents , см. в разделе События аудиосеанса. Пример кода, который регистрирует клиентский интерфейс IAudioSessionEvents для получения уведомлений, см. в разделе Звуковые события для устаревших звуковых приложений.

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

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

Методы

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

 
IAudioSessionEvents::OnChannelVolumeChanged

Метод OnChannelVolumeChanged уведомляет клиента о том, что уровень громкости звукового канала в подмике сеанса изменился.
IAudioSessionEvents::OnDisplayNameChanged

Метод OnDisplayNameChanged уведомляет клиента об изменении отображаемого имени сеанса.
IAudioSessionEvents::OnGroupingParamChanged

Метод OnGroupingParamChanged уведомляет клиента об изменении параметра группировки для сеанса.
IAudioSessionEvents::OnIconPathChanged

Метод OnIconPathChanged уведомляет клиента о том, что значок отображения для сеанса изменился.
IAudioSessionEvents::OnSessionDisconnected

Метод OnSessionDisconnected уведомляет клиента о том, что звуковой сеанс отключен.
IAudioSessionEvents::OnSimpleVolumeChanged

Метод OnSimpleVolumeChanged уведомляет клиента об изменении уровня громкости или отключения звука звукового сеанса.
IAudioSessionEvents::OnStateChanged

Метод OnStateChanged уведомляет клиента об изменении состояния потоковой активности сеанса.

Требования

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

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

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

IAudioSessionControl::RegisterAudioSessionNotification

IAudioSessionControl::UnregisterAudioSessionNotification

WASAPI