Freigeben über


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

Audioeffekte