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

通信デバイスの使用