PannerNode: Eigenschaft positionZ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Die positionZ-Eigenschaft der PannerNode-Schnittstelle gibt die Z-Koordinate der Position der Audioquelle in 3D-Kartesischen Koordinaten an, was der Tiefenachse (hinter- vor dem Zuhörer) entspricht. Der gesamte Vektor wird durch die Position der Audioquelle definiert, angegeben als (positionX, positionY, positionZ) und die Orientierung der Audioquelle (d.h. die Richtung, in die sie zeigt), angegeben als (orientationX, orientationY, orientationZ).

Abhängig von der Richtwirkung des Sounds (wie durch die Attribute coneInnerAngle, coneOuterAngle und coneOuterGain angegeben), kann die Ausrichtung des Sounds die wahrgenommene Lautstärke beeinflussen, während er abgespielt wird. Wenn der Sound auf den Zuhörer gerichtet ist, wird er lauter sein, als wenn der Sound vom Zuhörer weg zeigt.

Das AudioParam, das durch diese Eigenschaft enthalten ist, ist schreibgeschützt; Sie können jedoch den Wert des Parameters ändern, indem Sie der AudioParam.value-Eigenschaft einen neuen Wert zuweisen.

Wert

Ein AudioParam, dessen value die Z-Koordinate der Position der Audioquelle in 3D-Kartesischen Koordinaten ist.

Beispiele

Das folgende Beispiel startet einen Oszillator und bewegt ihn nach 1 Sekunde vor den Zuhörer, nach 2 Sekunden hinter den Zuhörer und nach 3 Sekunden wieder an die Position des Zuhörers. Beachten Sie, dass in diesem Fall die Veränderung hauptsächlich den Klangcharakter und die wahrgenommene Lautstärke des Sounds beeinflussen wird.

js
const context = new AudioContext();

const osc = new OscillatorNode(context);
const panner = new PannerNode(context);
panner.panningModel = "HRTF";

panner.positionZ.setValueAtTime(1, context.currentTime + 1);
panner.positionZ.setValueAtTime(-1, context.currentTime + 2);
panner.positionZ.setValueAtTime(0, context.currentTime + 3);

osc.connect(panner).connect(context.destination);

osc.start(0);

Spezifikationen

Specification
Web Audio API
# dom-pannernode-positionz

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch