次の方法で共有


KSNODETYPE_ACOUSTIC_ECHO_CANCEL

KSNODETYPE_ACOUSTIC_ECHO_CANCEL ノードは、AEC (音響エコー キャンセル) コントロールを表します。 AEC ノードには、2 つの入力ストリームと 2 つの出力ストリームの接続があります。 キャプチャ ストリームには 1 つの入力/出力ペアが使用され、もう 1 つの入力/出力ペアはレンダー ストリームに使用されます。 キャプチャ出力ストリームとレンダー入力ストリームの形式は同じです。 キャプチャ入力ストリームとレンダー出力ストリームは、異なる数のチャネルと異なるサンプル レートを持つことができます。 ただし、一般的な実装では、2 つのストリームのサンプル レートが同じか、16 kHz、48 kHz、11.025 kHz、44.1 kHz などの組み合わせがあり、1 つのサンプル レートは他方の整数倍数です。

AEC ノードでは、次のテーブルに示すように、ヘッダー ファイル Ksmedia.h のピン ID で論理ピンに番号を付ける必要があります。

PIN ID パラメーター 意味

KSNODEPIN_AEC_RENDER_IN

レンダー ストリーム用のシンク ピン (ノード入力)。

KSNODEPIN_AEC_RENDER_OUT

レンダー ストリームのソース ピン (ノード出力)。

KSNODEPIN_AEC_CAPTURE_IN

キャプチャ ストリーム用のシンク ピン (ノード入力)。

KSNODEPIN_AEC_CAPTURE_OUT

キャプチャ ストリームのソース ピン (ノード出力)。

前のテーブルのピンはノード上の論理ピンであり、他のフィルターへの接続に使用されるフィルターの外部ピンではなく、フィルター内部の接続のみを指定するために使用されることに注意してください。 詳細については、「PCCONNECTION_DESCRIPTOR」をご覧ください。

AEC ノードを含むフィルターが全二重 DirectSound アプリケーションをサポートする方法については、「DirectSound キャプチャ効果」をご覧ください。

AEC ノードを含むフィルターが作成されるか、ノードがリセットされると、ノードはパススルー モードで動作するように初期構成されます。

ハードウェア アクセラレーションを有効にするには、KSNODETYPE_ACOUSTIC_ECHO_CANCEL ノードで次のプロパティをサポートする必要があります。

KSPROPERTY_AUDIO_CPU_RESOURCES

KSPROPERTY_AUDIO_ALGORITHM_INSTANCE

KSPROPERTY_TOPOLOGYNODE_ENABLE

KSPROPERTY_TOPOLOGYNODE_RESET

KSPROPERTY_TOPOLOGYNODE_ENABLE プロパティは、AEC ノードの有効化と無効化で使用されます。 無効にすると、ノードはパススルー モードで動作します。つまり、レンダー ストリームとキャプチャ ストリームを変更せずにノードを通過できます。

KSNODETYPE_ACOUSTIC_ECHO_CANCEL ノードでは、追加の制御および監視機能を提供するために、次の省略可能なプロパティをサポートすることもできます。

KSPROPERTY_AEC_MODE

KSPROPERTY_AEC_NOISE_FILL_ENABLE

KSPROPERTY_AEC_STATUS