X3DAUDIO_DSP_SETTINGS Struktur (x3daudio.h)

Empfängt die Ergebnisse eines Aufrufs von X3DAudioCalculate.

Syntax

typedef struct X3DAUDIO_DSP_SETTINGS {
  FLOAT32 *pMatrixCoefficients;
  FLOAT32 *pDelayTimes;
  UINT32  SrcChannelCount;
  UINT32  DstChannelCount;
  FLOAT32 LPFDirectCoefficient;
  FLOAT32 LPFReverbCoefficient;
  FLOAT32 ReverbLevel;
  FLOAT32 DopplerFactor;
  FLOAT32 EmitterToListenerAngle;
  FLOAT32 EmitterToListenerDistance;
  FLOAT32 EmitterVelocityComponent;
  FLOAT32 ListenerVelocityComponent;
} X3DAUDIO_DSP_SETTINGS, *LPX3DAUDIO_DSP_SETTINGS;

Member

pMatrixCoefficients

Vom Aufrufer bereitgestelltes Array, das mit der Volumeebene jedes Quellkanals initialisiert wird, der in jedem Zielkanal vorhanden ist. Das Array muss mindestens Elemente (SrcChannelCount × DstChannelCount) aufweisen. Das Array ist mit den Quellkanälen als Spaltenindex des Arrays und den Zielkanälen als Zeilenindex des Arrays angeordnet. Beim Rendern von Zweikanal-Stereoeingaben in 5.1-Ausgabe, die zu den Frontkanälen gewichtet ist, aber in den Mittel- und Niederfrequenzkanälen nicht vorhanden ist, kann die Matrix wie in der folgenden Tabelle dargestellt sein.

Ausgabe Linke Eingabe Rechte Eingabe
Left 1.0 0.0
Right 0,0 1.0
Vordere Mitte 0.0 0.0
LFE 0.0 0.0
Hinten links 0.8 0.0
Hinten rechts 0,0 0.8
 

Beachten Sie, dass die linken und rechten Kanäle vollständig den linken und rechten Kanälen zugeordnet sind. 80 Prozent der linken und rechten Eingaben werden den hinteren linken und rechten Kanälen zugeordnet.

Das pMatrixCoefficients-Element kann NULL sein, wenn das X3DAUDIO_CALCULATE_MATRIX-Flag beim Aufrufen von X3DAudioCalculate nicht angegeben wird.

Bei Verwendung von X3DAudio mit XAudio2 wird der im pMatrixCoefficients-Member zurückgegebene Wert auf eine Stimme mit IXAudio2Voice::SetOutputMatrix angewendet.

pDelayTimes

Das vom Aufrufer bereitgestellte Verzögerungszeitarray empfängt Verzögerungen für jeden Zielkanal in Millisekunden. Dieses Array muss mindestens über DstChannelCount-Elemente verfügen. X3DAudio führt die Verzögerung nicht aus. Es gibt einfach die Koeffizienten zurück, die verwendet werden können, um einen Verzögerungs-DSP-Effekt in der Effektkette anzupassen. Das pDelayTimes-Element kann NULL sein, wenn das X3DAUDIO_CALCULATE_DELAY-Flag beim Aufrufen von X3DAudioCalculate nicht angegeben wird.

Hinweis Dieser Member wird nur zurückgegeben, wenn X3DAudio für die Stereoausgabe initialisiert wird. Bei der typischen Xbox 360-Nutzung werden überhaupt keine Daten zurückgegeben.
 

SrcChannelCount

Anzahl der Quellkanäle. Dies muss mit der Anzahl der Emitterkanäle initialisiert werden, bevor X3DAudioCalculate aufgerufen wird.

DstChannelCount

Anzahl der Quellkanäle. Dies muss mit der Anzahl der Emitterkanäle initialisiert werden, bevor X3DAudioCalculate aufgerufen wird.

LPFDirectCoefficient

LPF-Koeffizienten für direkten Pfad. Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_LPF_DIRECT-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

Bei Verwendung von X3DAudio mit XAudio2 wird der im LPFDirectCoefficient-Member zurückgegebene Wert auf einen Tiefpassfilter auf eine Quellstimme mit IXAudio2Voice::SetFilterParameters angewendet.

LPFReverbCoefficient

LPF-Reverbpfadkoeffizienten.

Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_LPF_REVERB-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

ReverbLevel

Reverb-Sendeebene. Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_REVERB-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

DopplerFactor

Doppler-Schichtfaktor. Skaliert das Resamplerverhältnis für den Dopplerverschiebungseffekt, wobei Folgendes angezeigt wird:

effective_frequency = DopplerFactor × original_frequency

Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_DOPPLER-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

Wenn Sie X3DAudio mit XAudio2 verwenden, wird der im DopplerFactor zurückgegebene Wert auf eine Quellstimme mit IXAudio2SourceVoice::SetFrequencyRatio angewendet.

EmitterToListenerAngle

Emitter-zu-Listener-Innenwinkel, ausgedrückt in Bogenmaßen in Bezug auf die Frontausrichtung des Emitters.

Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_EMITTER_ANGLE-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

EmitterToListenerDistance

Abstand in benutzerdefinierten Welteinheiten vom Listener zur Emitter-Basisposition.

EmitterVelocityComponent

Komponente des Emittergeschwindigkeitsvektors, der in benutzerdefinierten Welteinheiten pro Sekunde auf den Emitter-zu-Listener-Vektor projiziert wird.

Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_DOPPLER-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

ListenerVelocityComponent

Komponente des Listenergeschwindigkeitsvektors, der in benutzerdefinierten Welteinheiten pro Sekunde auf den Emitter-Listener-Vektor> projiziert wird. Wird nur berechnet, wenn das X3DAUDIO_CALCULATE_DOPPLER-Flag beim Aufrufen von X3DAudioCalculate angegeben wird.

Hinweise

Die folgenden Member müssen initialisiert werden, bevor diese Struktur an die X3DAudioCalculate-Funktion übergeben wird:

  • pMatrixCoefficients

  • pDelayTimes
  • SrcChannelCount

  • DstChannelCount
Die folgenden Member werden zurückgegeben, indem diese Struktur an die X3DAudioCalculate-Funktion übergeben wird:
  • pMatrixCoefficients

  • pDelayTimes

  • LPFDirectCoefficient

  • LPFReverbCoefficient
  • ReverbLevel

  • DopplerFactor

  • EmitterToListenerAngle
  • EmitterToListenerDistance

  • EmitterVelocityComponent

  • ListenerVelocityComponent
Hinweis Für pMatrixCoefficients und pDelayTimes weist X3DAudioCalculate keinen zusätzlichen Arbeitsspeicher zu. X3DAudioCalculate ändert lediglich die Werte an den Speicherspeicherorten, die diesen Zeigern zugewiesen sind.
 

Plattformanforderungen

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Anforderungen

Anforderung Wert
Header x3daudio.h

Siehe auch

Strukturen