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


Метод IAudioSessionManager2::RegisterDuckNotification (audiopolicy.h)

Метод RegisterDuckNotification регистрирует приложение в диспетчере сеансов для получения оповещений.

Синтаксис

HRESULT RegisterDuckNotification(
  LPCWSTR                      sessionID,
  IAudioVolumeDuckNotification *duckNotification
);

Параметры

sessionID

Указатель на строку, завершающуюся значением NULL, которая содержит идентификатор экземпляра сеанса. Приложения, которые воспроизводят поток мультимедиа и хотят обеспечить пользовательское затухание потока или поведение утихания, передают собственный идентификатор экземпляра сеанса. Дополнительные сведения см. в подразделе "Примечания".

Другие приложения, которые не хотят изменять свои потоки, но хотят получать все уведомления об утках, должны передавать значение NULL.

duckNotification

Указатель на реализацию приложения интерфейса IAudioVolumeDuckNotification . Реализация вызывается, когда звуковая система вызывает события ducking и уведомления отправляются зарегистрированным приложениям.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.

Возвращаемое значение Описание
E_POINTER
duckNotification имеет значение NULL.
E_OUTOFMEMORY
Не удалось создать внутренний объект из-за нехватки памяти.

Комментарии

Stream Затухание или утихание — это новая функция в Windows 7. Приложение, воспроизводищее поток мультимедиа, может по-разному вести себя при открытии нового потока связи на устройстве связи по умолчанию. Например, исходный поток мультимедиа можно приостановить, пока новый поток связи открыт. Чтобы предоставить эту пользовательскую реализацию для затухания потока, приложение может отказаться от использования затухания потока по умолчанию, вызвав IAudioSessionControl::SetDuckingPreference , а затем зарегистрировать себя для получения уведомлений при возникновении событий сеанса. Для затухания потока событие сеанса вызывается системой при открытии или закрытии потока связи на устройстве связи по умолчанию. Дополнительные сведения об этой функции см. в разделе Получение событий ducking.

Чтобы начать получать уведомления, приложение вызывает метод RegisterDuckNotification для регистрации интерфейса IAudioVolumeDuckNotification в диспетчере сеансов. Если приложению больше не требуются уведомления, оно вызывает метод IAudioSessionManager2::UnregisterDuckNotification для удаления регистрации.

Приложение получает уведомления о событиях ducking с помощью методов интерфейса IAudioVolumeDuckNotification . Приложение реализует IAudioVolumeDuckNotification. После успешного вызова регистрации система вызывает методы этого интерфейса при возникновении событий сеанса.

Требования

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

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

IAudioSessionManager2

Использование устройства связи