0

我一直在尝试查找有关使用 Web Audio API 设置侦听器方向的更多信息。我已经检查了 api 文档,但我并不完全清楚应该如何使用它。 https://docs.webplatform.org/wiki/apis/webaudio/AudioListener/setOrientation

描述听者在 3D 笛卡尔坐标空间中指向的方向。提供了前向量和上向量。在人类术语中,前向量表示人的鼻子指向的方向。向上向量表示人的头顶指向的方向。这些值预计是线性独立的(彼此成直角)。x, y, z 参数表示 3D 空间中的前向矢量,默认值为 (0,0,-1)。xUp、yUp、zUp 参数表示 3D 空间中的向上方向向量,默认值为 (0,1,0)。

我需要使用方向旋转来帮助用户确定源声音是在后面还是在前面,如何将听者方向向右或向左旋转 90 度?

非常感谢

4

1 回答 1

1

首先,确保您了解这样做是在旋转侦听器,而不是源。您基本上是在告诉软件纠正不面对屏幕的用户(假设屏幕是“正面”的标准配置)。

根据规范,将用户旋转 90° 意味着将“鼻子”矢量(forwardX、forwardY、forwardZ)更改为1,0,0(听众面向右侧)或-1,0,0(听众面向左侧)。面向左 45° 将是:

context.listener.forwardX.value = -1
context.listener.forwardY.value = 0
context.listener.forwardZ.value = -1

(当然,向量将被归一化;长度无关紧要)。

于 2015-03-09T00:05:12.513 回答