Freigeben über


DirectSound-Aufnahmeeffekte

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

  • 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 Aufnahmedatenstrom generiert. Nach der Charakterisierung der Soundreflexionen im Raum oder in einer anderen physischen Umgebung verwendet das Vollduplexsystem AEC, um den Renderdatenstrom zu überwachen, um die Echos abzubrechen, die er dem Aufnahmedatenstrom hinzufügt. Das System kann die Qualität des Aufnahmedatenstroms weiter verbessern, indem NS verwendet wird, um Rauschspitzen zu erkennen und aus dem Datenstrom 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 Aufnahmepuffer 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 DirectX 8.0 SDK-Dokumentation.

DirectSound-GUID-Name KS-GUID-Name

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 Aufnahmeeffekte 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.

Diese Themen werden im restlichen Abschnitt behandelt:

Verfügbarmachen von Hardware-Accelerated Aufnahmeeffekten

AEC-Systemfilter