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

浏览器兼容性

另见