Метод IAudioSessionManager2::RegisterDuckNotification (audiopolicy.h)
Метод RegisterDuckNotification регистрирует приложение в диспетчере сеансов для получения оповещений.
Синтаксис
HRESULT RegisterDuckNotification(
LPCWSTR sessionID,
IAudioVolumeDuckNotification *duckNotification
);
Параметры
sessionID
Указатель на строку, завершающуюся значением NULL, которая содержит идентификатор экземпляра сеанса. Приложения, которые воспроизводят поток мультимедиа и хотят обеспечить пользовательское затухание потока или поведение утихания, передают собственный идентификатор экземпляра сеанса. Дополнительные сведения см. в подразделе "Примечания".
Другие приложения, которые не хотят изменять свои потоки, но хотят получать все уведомления об утках, должны передавать значение NULL.
duckNotification
Указатель на реализацию приложения интерфейса IAudioVolumeDuckNotification . Реализация вызывается, когда звуковая система вызывает события ducking и уведомления отправляются зарегистрированным приложениям.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.
Возвращаемое значение | Описание |
---|---|
|
duckNotification имеет значение NULL. |
|
Не удалось создать внутренний объект из-за нехватки памяти. |
Комментарии
Stream Затухание или утихание — это новая функция в Windows 7. Приложение, воспроизводищее поток мультимедиа, может по-разному вести себя при открытии нового потока связи на устройстве связи по умолчанию. Например, исходный поток мультимедиа можно приостановить, пока новый поток связи открыт. Чтобы предоставить эту пользовательскую реализацию для затухания потока, приложение может отказаться от использования затухания потока по умолчанию, вызвав IAudioSessionControl::SetDuckingPreference , а затем зарегистрировать себя для получения уведомлений при возникновении событий сеанса. Для затухания потока событие сеанса вызывается системой при открытии или закрытии потока связи на устройстве связи по умолчанию. Дополнительные сведения об этой функции см. в разделе Получение событий ducking.
Чтобы начать получать уведомления, приложение вызывает метод RegisterDuckNotification для регистрации интерфейса IAudioVolumeDuckNotification в диспетчере сеансов. Если приложению больше не требуются уведомления, оно вызывает метод IAudioSessionManager2::UnregisterDuckNotification для удаления регистрации.
Приложение получает уведомления о событиях ducking с помощью методов интерфейса IAudioVolumeDuckNotification . Приложение реализует IAudioVolumeDuckNotification. После успешного вызова регистрации система вызывает методы этого интерфейса при возникновении событий сеанса.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | audiopolicy.h |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по