共用方式為


IAudioSessionManager2::RegisterDuckNotification 方法 (audiopolicy.h)

RegisterDuckNotification 方法會向會話管理員註冊應用程式,以接收擷取通知。

語法

HRESULT RegisterDuckNotification(
  LPCWSTR                      sessionID,
  IAudioVolumeDuckNotification *duckNotification
);

參數

sessionID

包含會話實例標識碼之 Null 終止字串的指標。 正在播放媒體串流且想要提供自定義數據流衰減或擷取行為的應用程式,傳遞自己的會話實例標識碼。 如需詳細資訊,請參閱<備註>。

其他不想改變其數據流,但想要取得所有擷取通知的應用程式都必須通過 NULL

duckNotification

應用程式 實作 IAudioVolumeDuckNotification 介面的指標。 當音訊系統引發擷取事件,並將通知傳送至已註冊的應用程式時,就會呼叫實作。

傳回值

如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。

傳回值 描述
E_POINTER
duckNotificationNULL
E_OUTOFMEMORY
無法建立內部對象,因為記憶體不足。

備註

Stream 衰減減少是 Windows 7 的新功能。 播放媒體數據流的應用程式可以在預設通訊裝置上開啟新的通訊數據流時,讓數據流的行為不同。 例如,當新的通訊數據流開啟時,可以暫停原始媒體數據流。 為了提供數據流衰減的這個自定義實作,應用程式可以呼叫 IAudioSessionControl::SetDuckingPreference 來退出退出預設數據流衰減體驗,然後在會話事件發生時註冊自己以接收通知。 針對數據流衰減,當預設通訊裝置上開啟或關閉通訊數據流時,系統就會引發會話事件。 如需此功能的詳細資訊,請參閱 取得擷取事件

為了開始接收通知,應用程式會呼叫 RegisterDuckNotification 方法,向會話管理員註冊其 IAudioVolumeDuckNotification 介面。 當應用程式不再需要通知時,它會呼叫 IAudioSessionManager2::UnregisterDuckNotification 方法來刪除註冊。

應用程式會透過 IAudioVolumeDuckNotification 介面的方法,接收有關擷取事件的通知。 應用程式會實作 IAudioVolumeDuckNotification。 註冊呼叫成功之後,系統會在發生會話事件時呼叫這個介面的方法。

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 audiopolicy.h

另請參閱

IAudioSessionManager2

使用通訊裝置