PannerNode: positionZ プロパティ

positionZPannerNode インターフェイスのプロパティで、奥行軸(背後とリスナーの前)に対応する、 3D 直交座標での音声ソースの位置の Z 座標を指定します。完全にベクトルを定義するのは、 (positionX, positionY, positionZ) で指定された音声ソースの位置と、 (orientationX, orientationY, orientationZ) で指定された音声ソースの方向(つまり、それが向いている方向)です。

音の指向性(属性 coneInnerAngle, coneOuterAngle, codeOuterGain を使用して指定)によって、使用する音の方向が、知覚される音量を変えるこ とがあります。音が聞き手の方を向いている場合は、音が聞き手から離れている場合よりも大きくなります。

このプロパティが保持している AudioParam は読み取り専用ですが、 AudioParam.value プロパティに新しい値を割り当てることで、引数の値を変更することができます。

AudioParam で、その value は音声ソースの位置の Z 座標(3D 直交座標)です。既定値は 0 です。

次の例では、発振器を開始させ、 1 秒後にリスナーの前に移動させ、 2 秒後にリスナーの後ろに移動させ、 3 秒後にリスナーの位置に戻します。 1 秒後にリスナーの前へ、 2 つ目にリスナーの後ろへ、 3 つ目にリスナーの位置へ戻ります。 3 つ目。この場合、変化は主に音色と音量に影響することに注意してください。 音の大きさに影響します。

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);

仕様書

Specification
Web Audio API
# dom-pannernode-positionz

ブラウザーの互換性

BCD tables only load in the browser

関連情報