Share via


カスタム ダッキング動作の提供

アプリケーションは、システムによって処理される既定のダッキング エクスペリエンスをオプトアウトし、カスタム実装に置き換えることができます。

アプリケーションでは、カスタム ダッキング エクスペリエンスを提供できます。 たとえば、Windows Media Player は、通信セッション中に現在のメディア ストリームを一時停止し、セッションが閉じられたときに再生を再開することで、独自のダッキング エクスペリエンスを提供します。 ダッキングを実装するサンプル メディア アプリケーションは、Windows SDK のサンプルに含まれています。詳細については、「DuckingMediaPlayer」を参照してください。 通信ストリームを開いたり閉じたり、ダッキング イベントを生成したりするエクスペリエンスをシミュレートするには、「DuckingCaptureSample」を参照してください。これも Windows SDK のサンプルに含まれています。

減衰するサウンドを再生するメディア アプリケーションは、システムで開いたり閉じたりするときに、通信ストリームを認識する必要があります。 カスタム実装は、コア オーディオ API を使用する MediaFoundation、DirectShow、または DirectSound を使用して提供できます。 直接 WASAPI クライアントは、通信セッションの開始と終了を認識している場合に、既定の処理をオーバーライドすることもできます。

カスタム ダッキング エクスペリエンスを提供するには、WASAPI クライアントで次のタスクを実行する必要があります。

  1. ダッキング マネージャー (通信ストリームの変更に関連する通知を処理するオーディオ システムのコンポーネント) からダッキング イベントを取得するように登録します。 詳細については、「ダッキング イベントの取得」を参照してください。

    Note

    ダッキング通知を受け取るためにクライアントが登録されている場合、ダッキング マネージャーはシステムによって提供される既定の動作を無効にします。 既定の動作が明示的に無効になっており (「既定のダッキング エクスペリエンスの無効化」を参照)、クライアントが代替動作を提供しない場合、アプリケーションではダッキング動作は発生しません。

     

  2. ダッキング マネージャーから送信されたダック イベント通知をリッスンし、必要なダッキング動作を実行します。 ダッキング動作の実装の詳細については、「ダッキング通知の実装に関する考慮事項」を参照してください。

通信デバイスの使用

既定のダッキング エクスペリエンス

既定のダッキング エクスペリエンスの無効化

ダッキング通知の実装に関する考慮事項

ダッキング イベントの取得