Freigeben über


DirectSound Capture-Effekte

DirectSound 8 fügt einige neue Features zum Aktivieren und Steuern von Drittanbietereffekten während der Audioaufnahme hinzu. Diese und höhere Versionen von DirectSound unterstützen die folgenden beiden Erfassungseffekte:

  • Akustische Echounterdrückung (AEC)

  • Rauschunterdrückung (NS)

In einer Vollduplex-Audioanwendung wie Telefonkonferenzen werden Echos des Renderdatenstroms, der über die Lautsprecher ausgegeben wird, im Mikrofon aufgenommen, das den Aufzeichnungsstream generiert. Nach dem Charakterisieren der Klangreflektionen im Raum oder in einer anderen physischen Umgebung verwendet das Vollduplexsystem AEC, um den Renderdatenstrom zu überwachen, um die Echos aufzuheben, die es dem Aufnahmedatenstrom hinzufügt. Das System kann die Qualität des Erfassungsdatenstroms weiter verbessern, indem es NS verwendet, um Rauschspitzen zu erkennen und sie aus dem Stream zu entfernen.

Eine Vollduplex-DirectSound-Anwendung kann die Schnittstellen IDirectSoundCaptureFXAec und IDirectSoundCaptureFXNoiseSuppress verwenden, um die AEC- und NS-Effekte zu steuern. Die IDirectSoundCaptureBuffer::GetObjectInPath-Methode ruft Zeiger auf Objekte mit diesen Schnittstellen ab. Die DirectSoundFullDuplexCreate-Funktion erstellt das IDirectSoundCaptureBuffer-Objekt , und die Parameter, die der Aufrufer an diese Funktion übergibt, enthalten ein Array von DSCEFFECTDESC-Strukturen. Das Array gibt die Effekte an, die im Erfassungspuffer aktiviert werden sollen. Das guidDSCFXClass-Element jeder Struktur im Array enthält eine GUID, die einen Effekt angibt: AEC oder NS. Der DirectSound-Name für jede GUID wird in der folgenden Tabelle zusammen mit dem KS-Namen für denselben GUID-Wert angezeigt. Ausführliche Informationen finden Sie in der Dokumentation zum DirectX 8.0 SDK.

Name der DirectSound-GUID Name der KS-GUID

GUID_DSCFX_CLASS_AEC

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

GUID_DSCFX_CLASS_NS

KSNODETYPE_NOISE_SUPPRESS

In Microsoft Windows XP und höher können Sie die hardwarebeschleunigten Aufzeichnungseffekte Ihres Audiogeräts für DirectSound-Anwendungen verfügbar machen. Darüber hinaus bietet der AEC-Systemfilter (Aec.sys) Softwareemulation von AEC- und NS-Effekten.

Die folgenden Themen werden im weiteren Verlauf dieses Abschnitts erläutert:

Verfügbarmachen von Hardware-Accelerated Erfassungseffekten

AEC-Systemfilter