PannerNode:positionZ 屬性
PannerNode 介面的 positionZ 屬性指定了音訊源在 3D 笛卡爾座標系中的 Z 座標,對應於深度軸(在聽者前方 - 在聽者後方)。完整的向量由音訊源的位置(由(positionX, positionY, positionZ)定義)和音訊源的方向(即其朝向)給定(由(orientationX, orientationY, orientationZ)定義)確定。
根據聲音的方向性(透過 coneInnerAngle、coneOuterAngle 和 codeOuterGain 屬性指定),聲音的方向可能會改變播放時的感知音量。如果聲音指向聽者,則比聲音背離聽者時更大聲。
此屬性包含的 AudioParam 是隻讀的;但是,您仍然可以透過為其 AudioParam.value 屬性賦值來更改引數的值。
值
一個 AudioParam,其 value 是音訊源在 3D 笛卡爾座標系中的 Z 座標。
示例
下面的示例啟動一個振盪器,並在 1 秒後將其移到聽者前方,2 秒後移到聽者後方,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);
規範
| 規範 |
|---|
| Web Audio API # dom-pannernode-positionz |
瀏覽器相容性
載入中…