OpenSLES规范1.0.1演示了3D音频的实现。我的兴趣是为3D音频源指定位置。
我试着在Android14中实现了这个功能,但是结果是"SL_RESULT_FEATURE_UNSUPPORTED“。正如在此链接中所述,3D位置、侦听器等3D Sound in OpenSL ES功能以及一般所有3D功能都需要设置USE_PROFILES_GAME。
因为OpenSLES不是一个独立的实体,并且依赖于其他系统库(如wilhelm.so),所以我不能真正独立地编译库。所以我下载了整个安卓源代码,设置了USE_PROFILES_GAME标志,在Android.mk中包含了3D相关的类,默认情况下它是被排除的,然后构建新的系统。
现在使用新的android系统图像,我可以得到位置推断,但它似乎不工作,即我感觉不到我的源音频的位置变化。
有没有人在android中成功实现过3D音频功能(特别是3D音频位置)?3D音频功能是否依赖于移动硬件?
任何帮助都是非常感谢的。
发布于 2013-09-18 06:23:53
当我试图开发一个需要3D音频功能的原型应用程序时,我也遇到了同样的问题。
我没有像你那样编译我自己的android源代码,但考虑到了这一点。回到十年前,我在SOF上偶然发现了一个Android编译的开放类库。由于不得不放弃这个项目去做另一个项目,我上周又开始考虑这个问题了。我发现是这样的:
http://www.am3d.co.jp/home-english/products/3d-audio/hardwaresoftware-platforms/android.aspx
这似乎是缺失的一环,但必须为您的应用程序许可。也许这对你有帮助。我在他们的网站上写道:“这个实现实现了Android OpenSL ES实现中缺失的3D音频功能。”然而,即使它说“API是AM3D的简单而专有的API”。技术文档似乎显示,你正在用标准的OpenSL ES way自己编程3D效果。
发布于 2013-08-03 00:50:09
据我所知,目前还没有任何设备支持3D界面。
来自ndk/docs/opensles/index.html:“注意:虽然基于Android ES,但Android原生音频应用程序接口并不符合任何OpenSL ES 1.0.1配置文件(游戏、音乐或电话)的实现。这是因为Android没有实现任何一个配置文件所需的所有功能。”
https://stackoverflow.com/questions/14809173
复制相似问题