PannerNode: positionX 屬性

Baseline 已廣泛支援

此特性已得到良好支援,可在多種裝置和瀏覽器版本上使用。自 2021 年 4 月起,所有瀏覽器均已支援此特性。

PannerNode 介面的 positionX 屬性指定了音訊源在 3D 笛卡爾座標系中的 X 座標,對應於水平軸(左-右)。

完整的向量由音訊源的位置(表示為 (positionX, positionY, positionZ))和音訊源的方向(即其朝向)給出(表示為 (orientationX, orientationY, orientationZ))。

根據聲音的方向性(透過 coneInnerAngleconeOuterAnglecodeOuterGain 屬性指定),聲音的方向可能會改變播放時的感知音量。如果聲音指向聽者,則比聲音背離聽者時更大聲。

此屬性包含的 AudioParam 是隻讀的;但是,您仍然可以透過為其 AudioParam.value 屬性賦值來更改引數的值。

一個 AudioParam,其 value 是音訊源在 3D 笛卡爾座標系中的位置的 X 座標。預設值為 0。

示例

以下示例啟動一個振盪器,並在 1 秒後將其平移到左側,在 2 秒後平移到右側,並在 3 秒後返回到中心。

js
const context = new AudioContext();

const osc = new OscillatorNode(context);
const panner = new PannerNode(context);

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

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

osc.start(0);

規範

規範
Web Audio API
# dom-pannernode-positionx

瀏覽器相容性

另見