PannerNode:positionY 属性

基线 广泛可用

此功能已得到很好的建立,并且可以在许多设备和浏览器版本上运行。它已在浏览器中可用,自 2021 年 4 月.

positionY 属性是 PannerNode 接口的一个属性,它指定了音频源在 3D 笛卡尔坐标系中的 Y 坐标,对应于垂直轴(顶部到底部)。完整的向量由音频源的位置定义,给出为(positionXpositionYpositionZ),以及音频源的方向(即它所面对的方向),给出为(orientationXorientationYorientationZ)。

根据声音的方向性(如使用属性 coneInnerAngleconeOuterAnglecodeOuterGain 指定),声音的方向可能会改变声音播放时的感知音量。如果声音指向监听者,则它会比声音指向远离监听者时更响亮。

此属性包含的 AudioParam 是只读的;但是,您仍然可以通过为其 AudioParam.value 属性分配新值来更改参数的值。

一个 AudioParam,其 value 是音频源在 3D 笛卡尔坐标系中的 Y 坐标。

示例

以下示例启动一个振荡器,并在 1 秒后将其平移到监听者上方,在 2 秒后平移到监听者下方,并在 3 秒后返回中心。请注意,在这种情况下,更改将主要影响振荡器的音色,因为它是一个简单的单声道波。

js
const context = new AudioContext();

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

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

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

osc.start(0);

规范

规范
Web Audio API
# dom-pannernode-positiony

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅