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 |
浏览器兼容性
加载中…