PannerNode

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

PannerNode 介面定義了一個音訊處理物件,它在模擬物理空間中表示音訊源訊號的位置、方向和行為。這個 AudioNode 使用右手笛卡爾座標系來描述源的位置(作為向量)及其方向(作為 3D 方向錐)。

一個 PannerNode 始終只有一個輸入和一個輸出:輸入可以是單聲道立體聲,但輸出始終是立體聲(2 通道);沒有至少兩個音訊通道就無法實現聲像效果!

The PannerNode defines a spatial position and direction for a given signal.

EventTarget AudioNode PannerNode
輸入數量 1
輸出數量 1
通道計數模式 "clamped-max"
聲道數 2
通道解釋 “speakers”

建構函式

PannerNode()

建立一個新的 PannerNode 物件例項。

例項屬性

繼承自其父級 AudioNode 的屬性.

注意:由於方向和位置值儲存為 AudioParam 值,因此使用不同的語法來設定和檢索它們。檢索是透過訪問,例如,PannerNode.positionX 來完成的。而設定同一個屬性是透過 PannerNode.positionX.value 來完成的。這就是為什麼這些值沒有被標記為只讀(read only)的原因,儘管它們在 WebIDL 中顯示為只讀。

PannerNode.coneInnerAngle

一個雙精度浮點數值,描述了一個內部音量沒有衰減的圓錐體的角度(以度為單位)。

PannerNode.coneOuterAngle

一個雙精度浮點數值,描述了一個外部音量會根據 coneOuterGain 屬性定義的恆定值進行衰減的圓錐體的角度(以度為單位)。

PannerNode.coneOuterGain

一個雙精度浮點數值,描述了 coneOuterAngle 屬性定義的圓錐體外部的音量衰減量。其預設值為 0,表示聽不到任何聲音。

PannerNode.distanceModel

一個列舉值,用於確定在音訊源遠離監聽者時,使用哪種演算法來減小音訊源的音量。可能的值是 "linear""inverse""exponential"。預設值為 "inverse"

PannerNode.maxDistance

一個雙精度浮點數值,表示音訊源與監聽者之間的最大距離,超過該距離後音量將不再減小。

PannerNode.orientationX

在右手笛卡爾座標系中表示音訊源向量的水平位置。雖然此 AudioParam 不能直接更改,但可以透過其 value 屬性來修改其值。預設值為 1。

PannerNode.orientationY

在右手笛卡爾座標系中表示音訊源向量的垂直位置。預設值為 0。雖然此 AudioParam 不能直接更改,但可以透過其 value 屬性來修改其值。預設值為 0。

PannerNode.orientationZ

在右手笛卡爾座標系中表示音訊源向量的前後(縱向)位置。預設值為 0。雖然此 AudioParam 不能直接更改,但可以透過其 value 屬性來修改其值。預設值為 0。

PannerNode.panningModel

一個列舉值,用於確定在 3D 空間中定位音訊所使用的空間化演算法。

PannerNode.positionX

在右手笛卡爾座標系中表示音訊水平位置。預設值為 0。雖然此 AudioParam 不能直接更改,但可以透過其 value 屬性來修改其值。預設值為 0。

PannerNode.positionY

在右手笛卡爾座標系中表示音訊垂直位置。預設值為 0。雖然此 AudioParam 不能直接更改,但可以透過其 value 屬性來修改其值。預設值為 0。

PannerNode.positionZ

在右手笛卡爾座標系中表示音訊前後(縱向)位置。預設值為 0。雖然此 AudioParam 不能直接更改,但可以透過其 value 屬性來修改其值。預設值為 0。

PannerNode.refDistance

一個雙精度浮點數值,表示音訊源遠離監聽者時減小音量的參考距離。對於大於此距離的距離,音量將根據 rolloffFactordistanceModel 進行衰減。

PannerNode.rolloffFactor

一個雙精度浮點數值,描述了音量隨著源遠離監聽者而衰減的速率。所有距離模型都會使用此值。

例項方法

繼承自其父級 AudioNode 的方法.

PannerNode.setPosition() 已棄用

定義音訊源相對於監聽者(由 BaseAudioContext.listener 屬性中儲存的 AudioListener 物件表示)的位置。

PannerNode.setOrientation() 已棄用

定義音訊源播放的方向。

示例

參閱 BaseAudioContext.createPanner() 的示例程式碼。

規範

規範
Web Audio API
# PannerNode

瀏覽器相容性

另見