OpenSLES规范1.0.1演示了3D音频的实现。我的兴趣在于指定3D音频源的位置。
我尝试在android 14中实现它,但结果是“SL_RESULT_FEATURE_UNSUPPORTED”。在此链接中通知3D Sound in OpenSL ES功能,如3D位置,监听器和一般所有3D功能都需要设置USE_PROFILES_GAME。
因为OpenSLES不是一个独立的实体并依赖于其他系统库(如wilhelm.so),所以我无法独立编译该库。所以我下载了整个android源代码,设置了USE_PROFILES_GAME标志,包含Android.mk中的3D相关类,默认排除,然后构建新系统。
现在使用新的Android系统映像我能够获得位置不感知但它似乎不起作用,即我感觉不到我的源音频的位置在变化。
有没有人在Android中成功实现3D音频功能(特别是3D音频位置)?移动硬件上是否存在3D音频功能的依赖性?
感谢任何帮助。
答案 0 :(得分:0)
我所知道的任何设备上仍然不支持3D界面。
来自ndk / docs / opensles / index.html: “ 注意:虽然基于OpenSL ES,但Android原生音频API不是任何OpenSL ES 1.0.1配置文件(游戏,音乐或电话)的一致性实现。这是因为Android没有实现任何一个配置文件所需的所有功能。 “
答案 1 :(得分:0)
当我尝试开发需要3D音频功能的原型应用时,我遇到了同样的问题。
我没有像你编译我自己的android源码一样,但想到了这一点。后十点我在SOF上遇到了一个Android编译的openal库。由于不得不放弃另一个项目,我上周再次开始关注这个问题。我发现的是:
http://www.am3d.co.jp/home-english/products/3d-audio/hardwaresoftware-platforms/android.aspx
它似乎是缺失的链接,但必须获得您的应用许可。也许这对你有帮助。我在他们的网站上说“该实现实现了Android OpenSL ES实现中缺少的3D音频功能。”然而即使它说“该API是AM3D的简单和专有API。< / em>“技术文档似乎炫耀,您正在以标准的OpenSL ES方式编写3D效果。