PannerNode
基线 广泛可用
此功能已得到很好的建立,并在许多设备和浏览器版本中都有效。它自 2021 年 4 月.
PannerNode
接口定义了一个音频处理对象,它表示音频源信号在模拟物理空间中的位置、方向和行为。此 AudioNode
使用右手笛卡尔坐标系来描述源的位置作为向量,以及其方向作为 3D 方向锥。
PannerNode
始终只有一个输入和一个输出:输入可以是单声道或立体声,但输出始终是立体声(2 个通道);没有至少两个音频通道,就无法实现混音效果!
输入数量 | 1 |
---|---|
输出数量 | 1 |
通道计数模式 | "clamped-max" |
通道计数 | 2 |
通道解释 | "speakers" |
构造函数
PannerNode()
-
创建一个新的
PannerNode
对象实例。
实例属性
从其父级 AudioNode
继承属性.
注意: 方向和位置值使用不同的语法设置和检索,因为它们存储为 AudioParam
值。检索是通过访问例如 PannerNode.positionX
来完成的。而设置相同的属性则是通过 PannerNode.positionX.value
来完成的。这就是为什么这些值没有被标记为只读,而它们在 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
-
一个双精度值,表示随着音频源远离监听器而衰减音量的参考距离。对于大于此距离的距离,音量将根据
rolloffFactor
和distanceModel
衰减。 PannerNode.rolloffFactor
-
一个双精度值,描述随着源远离监听器,音量衰减的速度。此值由所有距离模型使用。
实例方法
从其父级 AudioNode
继承方法.
PannerNode.setPosition()
已弃用-
定义音频源相对于监听器的位置(由存储在
BaseAudioContext.listener
属性中的AudioListener
对象表示)。 PannerNode.setOrientation()
已弃用-
定义音频源播放的方向。
示例
查看 BaseAudioContext.createPanner()
以获取示例代码。
规范
规范 |
---|
Web 音频 API # PannerNode |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。