KSNODETYPE_ACOUSTIC_ECHO_CANCEL

Der KSNODETYPE_ACOUSTIC_ECHO_CANCEL Knoten stellt ein AEC-Steuerelement (akustische Echounterdrückung) dar. Ein AEC-Knoten verfügt über Verbindungen für zwei Eingabe- und zwei Ausgabestreams. Ein Eingabe-/Ausgabepaar wird für den Aufzeichnungsdatenstrom und das andere Eingabe/Ausgabe-Paar für den Renderdatenstrom verwendet. Die Datenströme capture-output und render-input haben das gleiche Format. Die Datenströme capture-input und render-output können eine unterschiedliche Anzahl von Kanälen und unterschiedliche Abtastraten aufweisen. In einer typischen Implementierung weisen die beiden Streams jedoch entweder dieselbe Abtastrate oder eine Kombination auf, z. B. 16 kHz und 48 kHz oder 11,025 kHz und 44,1 kHz, wobei eine Abtastrate ein ganzzahliges Vielfaches des anderen ist.

Ein AEC-Knoten sollte seine logischen Pins mit den Pin-IDs aus der Headerdatei Ksmedia.h nummerieren, die in der folgenden Tabelle dargestellt sind.

Pin-ID-Parameter Bedeutung

KSNODEPIN_AEC_RENDER_IN

Senkennadel (Knoteneingabe) für Renderdatenstrom.

KSNODEPIN_AEC_RENDER_OUT

Quellnadel (Knotenausgabe) für Renderdatenstrom.

KSNODEPIN_AEC_CAPTURE_IN

Senkennadel (Knoteneingabe) für den Erfassungsdatenstrom.

KSNODEPIN_AEC_CAPTURE_OUT

Quellnadel (Knotenausgabe) für den Erfassungsdatenstrom.

Beachten Sie, dass es sich bei den Pins in der vorherigen Tabelle um logische Pins auf dem Knoten handelt, die ausschließlich zum Angeben interner Verbindungen mit dem Filter verwendet werden, und nicht um externe Pins im Filter, die zum Herstellen einer Verbindung mit anderen Filtern verwendet werden. Weitere Informationen finden Sie unter PCCONNECTION_DESCRIPTOR.

Informationen dazu, wie ein Filter, der einen AEC-Knoten enthält, Unterstützung für Vollduplex-DirectSound-Anwendungen bereitstellen kann, finden Sie unter DirectSound Capture Effects.

Wenn ein Filter erstellt wird, der einen AEC-Knoten enthält, oder der Knoten zurückgesetzt wird, wird der Knoten zunächst für den Betrieb im Passthrough-Modus konfiguriert.

Ein KSNODETYPE_ACOUSTIC_ECHO_CANCEL Knoten sollte die folgenden Eigenschaften unterstützen, um die Hardwarebeschleunigung zu aktivieren:

KSPROPERTY_AUDIO_CPU_RESOURCES

KSPROPERTY_AUDIO_ALGORITHM_INSTANCE

KSPROPERTY_TOPOLOGYNODE_ENABLE

KSPROPERTY_TOPOLOGYNODE_RESET

Die eigenschaft KSPROPERTY_TOPOLOGYNODE_ENABLE wird verwendet, um einen AEC-Knoten zu aktivieren und zu deaktivieren. Wenn er deaktiviert ist, wird der Knoten im Passthrough-Modus ausgeführt. Das heißt, die Render- und Aufzeichnungsdatenströme können den Knoten ohne Änderung durchlaufen.

Ein KSNODETYPE_ACOUSTIC_ECHO_CANCEL Knoten kann auch die folgenden optionalen Eigenschaften unterstützen, um zusätzliche Steuerungs- und Überwachungsfunktionen bereitzustellen:

KSPROPERTY_AEC_MODE

KSPROPERTY_AEC_NOISE_FILL_ENABLE

KSPROPERTY_AEC_STATUS