X3DAUDIO_LISTENER-Struktur (x3daudio.h)

Definiert einen Punkt des 3D-Audioempfangs.

Syntax

typedef struct X3DAUDIO_LISTENER {
  X3DAUDIO_VECTOR OrientFront;
  X3DAUDIO_VECTOR OrientTop;
  X3DAUDIO_VECTOR Position;
  X3DAUDIO_VECTOR Velocity;
  X3DAUDIO_CONE   *pCone;
} X3DAUDIO_LISTENER, *LPX3DAUDIO_LISTENER;

Member

OrientFront

Ausrichtung der Frontrichtung. Wenn pCone NULL ist , wird OrientFront nur für Matrix- und Verzögerungsberechnungen verwendet. Wenn pCone nicht NULL ist , wird OrientFront für Matrix-, LPF- (sowohl direkte als auch Reverbpfade) und Reverb-Berechnungen verwendet. Dieser Wert muss bei Verwendung mit OrientTop orthonormal sein.

OrientTop

Ausrichtung der Oberen Richtung, nur für Matrix- und Verzögerungsberechnungen verwendet. Dieser Wert muss bei Verwendung von OrientFront orthonormal sein.

Position

Position in benutzerdefinierten Welteinheiten. Dieser Wert wirkt sich nicht auf die Geschwindigkeit aus.

Velocity

Geschwindigkeitsvektor in benutzerdefinierten Welteinheiten pro Sekunde, nur für Dopplerberechnungen verwendet. Dieser Wert wirkt sich nicht auf die Position aus.

pCone

Zeiger auf eine X3DAUDIO_CONE Struktur für diesen Listener. Wenn Sie einen Listenerkegel bereitstellen, wird angegeben, dass zusätzliche Berechnungen bei der Ermittlung der Lautstärke und beim Filtern von DSP-Parametern für einzelne Soundquellen durchgeführt werden. Ein NULL pCone-Wert gibt einen omnidirektionalen Sound an, und es wird keine Kegelverarbeitung angewendet. pCone wird nur für Matrix-, LPF- (sowohl direkte als auch Reverbpfade) und Reverb-Berechnungen verwendet.

Hinweise

X3DAudio verwendet ein kartesisches Koordinatensystem mit linkshändigem kartesischen Koordinatensystem, wobei die Werte auf der x-Achse von links nach rechts, auf der y-Achse von unten nach oben und auf der Z-Achse von nah nach fern steigen. Azimuths werden im Uhrzeigersinn von einer bestimmten Bezugsrichtung gemessen.

Um X3DAudio mit rechtshändigen Koordinaten zu verwenden, müssen Sie das .z-Element von OrientFront, OrientTop, Position und Velocity negieren.

Der Parametertyp X3DAUDIO_VECTOR wird in DirectX::XMFLOAT3 eingegeben, um Gleitkommawerte für x, y und z bereitzustellen.

Die vorderen und oberen Vektoren eines Listeners müssen orthonormal sein. Um als orthonormal betrachtet zu werden, muss ein Vektorpaar eine Größe von 1 +- 1x10-5 und ein Punktprodukt von 0 +- 1x10-5 haben.

Plattformanforderungen

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

Anforderungen

Anforderung Wert
Header x3daudio.h