共用方式為


提供自定義的音量壓制行為

應用程式可以退出系統所處理的 預設聲音降低體驗,並將它取代為自訂實作。

應用程式可以提供自定義的躲避體驗。 例如,Windows Media Player 藉由在通訊工作階段期間暫停目前的媒體串流,並在會話關閉時繼續播放,來提供自己的隱藏體驗。 實作躲避的媒體應用程式範例隨附於 Windows SDK 範例中;如需詳細資訊,請參閱 DuckingMediaPlayer。 若要模擬開啟和關閉通訊串流以及產生音量降低事件的體驗,請參閱 DuckingCaptureSample,該範例也包含在 Windows SDK 範例中。

在系統中需要被衰減的音效播放媒體應用程式,必須注意通訊流在系統中何時開啟及關閉。 您可以使用 MediaFoundation、DirectShow 或 DirectSound 來提供自定義實作,其使用核心音訊 API。 如果直接的WASAPI用戶端知道通訊工作階段何時開始和結束,它也可以覆寫預設處理。

若要提供自定義的躲避體驗,WASAPI 用戶端必須執行下列工作:

  1. 註冊以接收來自 鴨子管理員的躲避事件,這是處理與通訊串流變更相關的通知的音訊系統的元件。 如需詳細資訊,獲取 Ducking 事件

    注意

    如果用戶端已註冊以接收音量降低通知,則音量降低管理器會停用系統提供的預設行為。 如果預設的行為已明確停用(請參閱 停用預設的音量降低體驗),且用戶端不提供替代行為,則應用程式不會受到任何音量降低的影響。

     

  2. 接聽鴨子管理員所傳送的鴨子事件通知,並執行所需的躲避行為。 如需實作音量壓制行為的詳細資訊,請參閱 音量壓制通知的實作考量

使用通訊裝置

預設的音量抑制體驗

停用預設的音量降低功能

躲避通知 的實作考慮

取得躲避事件