我正在开发具有增强现实的android应用程序。我们可以在飞机上放置不同声源的地方。当用户远离那些对象时,我想根据距离使声音减弱。我离声源很远,但是我该如何操作音频呢?有没有很好的库可以处理android或java中的声音。
我对Doppler Effect
有点了解,当声源移向静止物体时,声源从静止物体移出;另一方面,移开然后减小音调时,声高增加。在我的情况下使用有意义吗?
最佳答案
我不知道Android中提供的库。但是3D声音的基本要素是逐渐减小音量并随着距离增加低通滤波,因为高频的衰减比露天的低频下降更快。
而且,与使用音量模拟立体声相比,通常优先使用定时(根据空气中的声音速度和头部的宽度计算出的较小延迟)。对于多普勒,这仅适用于运动中的对象。
您可能会查看Signal Processing和Sound Design区域,在这些区域我偶尔会想起相关的问题。
如果目标不太雄心勃勃,那么只要视觉元素强烈增强了幻觉,就可以简单地将音量衰减与距离和基于音量的立体声配合使用。但是,如果执行得当,使用计时和过滤会更加现实。
如果您决定自己动手,这有点麻烦,其中包括需要创建一个用于混合音频信号和一些良好混响效果的框架。混响可能是最耗用CPU的元素,并且就在我的技术知识水平之上-我只编码原始版本。哦,还有一个方面是要了解反射壁和表面在环境中的位置并创建适当的回声。 IDK在多大程度上已经得到有效或尚未得到有效的处理-几年前,当我研究此问题时,一种用于在化身移动时实时处理早期反射的系统主要是理论上和抱负的。
关于android - 从声源移动时,产生的声音强度较小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62241109/