PannerNode

基线 广泛可用

此功能已得到很好的建立,并在许多设备和浏览器版本中都有效。它自 2021 年 4 月.

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 来完成的。这就是为什么这些值没有被标记为只读,而它们在 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 音频 API
# PannerNode

浏览器兼容性

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

另请参见