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
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: