AudioListener

基线 广泛可用

此功能已十分成熟,可在许多设备和浏览器版本上运行。自以下日期起,它已在各个浏览器中可用 2021 年 4 月.

AudioListener 接口表示收听音频场景的唯一个人的位置和方向,用于 音频空间化。所有 PannerNode 相对于存储在 BaseAudioContext.listener 属性中的 AudioListener 进行空间化。

需要注意的是,每个上下文只有一个监听器,它不是 AudioNode

We see the position, up and front vectors of an AudioListener, with the up and front vectors at 90° from the other.

实例属性

注意: 位置、向前和向上值使用不同的语法设置和检索。检索是通过访问例如 AudioListener.positionX 来完成的,而设置相同的属性则是通过 AudioListener.positionX.value 来完成的。这就是这些值没有被标记为只读的原因,而这正是它们在规范的 IDL 中的显示方式。

AudioListener.positionX

表示监听器在右手笛卡尔坐标系中的水平位置。默认值为 0。

AudioListener.positionY

表示监听器在右手笛卡尔坐标系中的垂直位置。默认值为 0。

AudioListener.positionZ

表示监听器在右手笛卡尔坐标系中的纵向(前后)位置。默认值为 0。

AudioListener.forwardX

表示监听器向前方向在与位置相同的笛卡尔坐标系中的水平位置 (positionXpositionYpositionZ) 值。向前和向上值是线性无关的。默认值为 0。

AudioListener.forwardY

表示监听器向前方向在与位置相同的笛卡尔坐标系中的垂直位置 (positionXpositionYpositionZ) 值。向前和向上值是线性无关的。默认值为 0。

AudioListener.forwardZ

表示监听器向前方向在与位置相同的笛卡尔坐标系中的纵向(前后)位置 (positionXpositionYpositionZ) 值。向前和向上值是线性无关的。默认值为 -1。

AudioListener.upX

表示监听器头顶在与位置相同的笛卡尔坐标系中的水平位置 (positionXpositionYpositionZ) 值。向前和向上值是线性无关的。默认值为 0。

AudioListener.upY

表示监听器头顶在与位置相同的笛卡尔坐标系中的垂直位置 (positionXpositionYpositionZ) 值。向前和向上值是线性无关的。默认值为 1。

AudioListener.upZ

表示监听器头顶在与位置相同的笛卡尔坐标系中的纵向(前后)位置 (positionXpositionYpositionZ) 值。向前和向上值是线性无关的。默认值为 0。

实例方法

AudioListener.setOrientation() 已弃用

设置监听器的方向。

AudioListener.setPosition() 已弃用

设置监听器的位置。

注意: 尽管这些方法已弃用,但它们目前是 Firefox 中设置方向和位置的唯一方法 (请参阅 Firefox 错误 1283029 )。

已弃用功能

setOrientation()setPosition() 方法已被设置其属性值等效项所取代。例如,setPosition(x, y, z) 可以通过分别设置 positionX.valuepositionY.valuepositionZ.value 来实现。

示例

请参阅 BaseAudioContext.createPanner() 获取示例代码。

规范

规范
Web 音频 API
# AudioListener

浏览器兼容性

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

另请参阅