Интерфейс IAudioSessionEvents (audiopolicy.h)
Интерфейс IAudioSessionEvents предоставляет уведомления о событиях, связанных с сеансом, таких как изменения уровня тома, отображаемого имени и состояния сеанса. В отличие от других интерфейсов в этом разделе, реализованных системным компонентом WASAPI, клиент WASAPI реализует интерфейс IAudioSessionEvents . Чтобы получать уведомления о событиях, клиент передает указатель на свой интерфейс IAudioSessionEvents в метод IAudioSessionControl::RegisterAudioSessionNotification .
После регистрации интерфейса IAudioClientSessionEvents клиент получает уведомления о событиях в виде обратных вызовов через методы в интерфейсе .
При реализации интерфейса IAudioSessionEvents клиент должен соблюдать следующие правила, чтобы избежать взаимоблокировок и неопределенного поведения:
- Методы в интерфейсе должны быть неблокировными. Клиент никогда не должен ждать объекта синхронизации во время обратного вызова события.
- Клиент никогда не должен вызывать метод IAudioSessionControl::UnregisterAudioSessionNotification во время обратного вызова события.
- Клиент никогда не должен освобождать окончательную ссылку на объект WASAPI во время обратного вызова события.
Наследование
Интерфейс 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