audio - 在three.js中手动平移音频
问题描述
我正在查看Audio和PositionalAudio对象,但找不到手动向左或向右平移音频的方法。将声音分配给 PositionalAudio 对象会在里面给我一个平移器对象,但我找不到可以进行的任何自定义调整来更改平移。
我可以根据动画循环中的距离手动设置音量,在我想要调整的声音上使用 setVolume,但我找不到任何平移。
请注意,您可以看到我尝试更改 position.x 属性,但没有效果。
解决方案
问题PositionalAudio
是它会根据其位置自动向左/向右平移到AudioListener
. AudioListener
通常附加到相机上,以便观看者获得 3D 位置音频的效果:
- 如果音频源位于听者的左侧,它将从左侧扬声器中发出。
- 中:两个扬声器
- 右:右扬声器
您可以在此演示中看到这种自动平移的作用。(我不确定为什么这个演示会同时用 4 个音频源淹没您。我建议您将除第二个球体之外的所有音频源静音,然后在它周围移动以查看平移是如何自动发生的)
允许平移控制会破坏 3D 位置音频的目的。如果你想覆盖平移,我想你可以应用一个过滤器AudioListener.setFilter()
并传入 a StereoPannerNode
,但就像我说的那样,这会破坏 3D 音频的目的。
推荐阅读
- node.js - 为什么 PDFKit 不总是关闭它在 Electron 中写入的文件?
- javascript - Node/Express 中的 Twigjs 在电子邮件中返回原始 HTML 而不是填充的 HTML
- node.js - 在 Node js 中模拟 gcp pubsub 对象。开玩笑的
- python - Python + pymodbus 向从设备发送字节码
- java - Java 使用 JSOUP 在 Ebay/Amazon 上获取产品的链接
- java - Zlib inflate 与 C 的工作方式不同?
- python - 如何在 main.py 中构建本地导入以允许测试?
- javascript - 跨域错误:在 ReactJS Hooks 中设置 Local-storage/React.State 时发生
- r - R Markdown中PDF的封面
- reactjs - 反应:删除后更新状态