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.
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
- pMatrixCoefficients
- pDelayTimes
- LPFDirectCoefficient
- LPFReverbCoefficient
- ReverbLevel
- DopplerFactor
- EmitterToListenerAngle
- EmitterToListenerDistance
- EmitterVelocityComponent
- ListenerVelocityComponent
Plattformanforderungen
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Anforderungen
Anforderung | Wert |
---|---|
Header | x3daudio.h |