次の方法で共有


IApoAcousticEchoCancellation インターフェイス (audioenginebaseapo.h)

このインターフェイスは、音響エコー キャンセル (AEC) シナリオを有効にするために、API によって実装されます。

継承

IApoAcousticEchoCancellation インターフェイスは、IUnknown インターフェイスから継承されます。

注釈

このインターフェイスは、キャプチャ エンドポイントでのモード効果 (MFX) によってのみ実装できます。 このインターフェイスを他の APO に実装すると、その APO の読み込みに失敗します。 キャプチャ エンドポイントに対するモード効果が一連のチェーン API として実装されている場合、デバイスに最も近い APO のみがこのインターフェイスを実装できます。

IApoAcousticEchoCancellation インターフェイスには明示的なメソッドがありません。 その目的は、オーディオ エンジンに対する AEC APO を識別することです。 このインターフェイスを実装する API には、IAudioProcessingObjectRT::APOProcess の呼び出しでAPO_CONNECTION_PROPERTY_V2構造体が渡されます。 APO_CONNECTION_PROPERTY_V2 は、APO がプライマリ ストリームと補助ストリームからバッファーを同期できるようにするためのタイムスタンプを提供します。 IAudioProcessingObjectRT::APOProcess に渡されるAPO_CONNECTION_PROPERTY構造体の u32Signature フィールドがAPO_CONNECTION_PROPERTY_V2_SIGNATUREと等しい場合、構造体をAPO_CONNECTION_PROPERTY_V2に安全に型キャストできます。

AEC アルゴリズムでは通常、特定のサンプリング レートとチャネル数が必要であるため、オーディオ エンジンは IApoAcousticEchoCancellation インターフェイスを実装する API にリサンプリング のサポートを提供します。 IApoAuxiliaryInputConfiguration::IsInputFormatSupported メソッドは、HRESULT APOERR_FORMAT_NOT_SUPPORTEDを返すことによって、APO の優先入力形式をシステムに通知するメカニズムを提供します。 メソッドの ppSupportedInputFormat パラメーターで要求された形式を返します。 その後、オーディオ エンジンは、入力オーディオを AEC APO に送信する前に、推奨される形式に再サンプリングします。 これにより、AEC APO でサンプリング レートとチャネル数の変換を実装する必要がなくなります。

要件

要件
サポートされている最小のクライアント Windows 10 ビルド 20348
Header audioenginebaseapo.h

こちらもご覧ください

APO_CONNECTION_PROPERTY_V2IAudioProcessingObjectRT::APOProcessIAudioProcessingObject::IsInputFormatSupported