Übersicht über XAPOFX
XAPOFX ist eine Sammlung von Audioeffekten, die die XAPO-Schnittstellen für die Verwendung in XAudio2 implementieren. XAPOFX enthält mehrere Effekte und einen gemeinsamen Mechanismus zum Erstellen von Effektinstanzen.
Eingeschlossene Effekte
In der folgenden Tabelle werden die in XAPOFX enthaltenen Effekte beschrieben.
Auswirkung | Beschreibung | Parameterstruktur | Parameterkonstanten | Anforderungen |
---|---|---|---|---|
FXECHO | Ein Echoeffekt. | FXECHO_PARAMETERS | FXECHO-Konstanten | Unterstützt nur FLOAT32-Audioformate. |
FXEQ | Ein Equalizer mit vier Banden. | FXEQ_PARAMETERS | FXEQ-Konstanten | Unterstützt nur FLOAT32-Audioformate. Die Abtastrate muss zwischen 22.000 Hz und 48.000 Hz betragen. |
FXMasteringLimiter | Ein Volumebegrenzer. | FXMASTERINGLIMITER_PARAMETERS | FXMASTERINGLIMIT-Konstanten | Unterstützt nur FLOAT32-Audioformate. |
FXReverb | Ein einfacher Halleffekt. XAudio2 bietet auch einen Effekt zur Implementierung von Princeton Digital Reverb, der mit XAudio2CreateReverb instanziiert werden kann. |
FXREVERB_PARAMETERS | FXREVERB-Konstanten | Unterstützt nur FLOAT32-Audioformate. Außerdem unterstützt es nur Mono-Eingang in Mono-Ausgang und Stereo-Eingang zu Stereo-Ausgang. |
Erstellen einer Instanz eines Effekts, der in XAPOFX enthalten ist
XAPOFX stellt die CreateFX-Funktion als allgemeinen Mechanismus zum Erstellen von Effektinstanzen bereit. CreateFX verwendet die CLSID eines Effekts und gibt einen IUnknown-Schnittstellenzeiger auf eine instance des Effekts zurück.
Verwenden von XAPOFX in XAudio2
Mit CreateFX instanziierte Effekte werden in XAudio2 verwendet, indem sie an Stimmen angefügt werden. Jede XAudio2-Stimme verfügt über eine Effektkette mit 0 oder mehr Audioeffekten. Audiodaten, die an eine Stimme gesendet werden, werden durch jeden Effekt in der Kette übergeben, bevor sie an die Ausgabeziele der Stimme gesendet werden. Die Stimme übernimmt die Ausgabe jedes Effekts und leitet sie in den nächsten Effekt in der Kette ein, bis keine Effekte in der Kette verbleiben. Um einen XAPOFX-Effekt an eine XAudio2-Stimme anzufügen, füllen Sie eine XAUDIO2_EFFECT_CHAIN-Struktur mit den Informationen des Effekts aus, und übergeben Sie sie an IXAudio2Voice::SetEffectChain.
Weitere Informationen zu XAudio2-Effektketten finden Sie unter XAudio2-Audioeffekte.
Ein Beispiel für die Verwendung von XAPOFX in XAudio2 finden Sie unter Vorgehensweise: Verwenden von XAPOFX in XAudio2.
Implizite XAudio2-Effekte
Zusätzlich zur XAPOs-Bibliothek, die von XAPOFX bereitgestellt wird, verfügt XAudio2 über integrierte Hall- und Lautstärkemesser-Audioeffekte. Sie können diese integrierten Effekte mit XAudio2CreateReverb und XAudio2CreateVolumeMeter erstellen. Unter Vorgehensweise: Erstellen einer Effektkette finden Sie ein Beispiel für die Verwendung eines dieser integrierten Effekte.
Zugehörige Themen