0

OpenSLES 规范 1.0.1 演示了 3D 音频的实现。我的兴趣是指定 3D 音频源的位置。

我尝试在 android 14 中实现它,但结果是“SL_RESULT_FEATURE_UNSUPPORTED”。正如此链接中所述,OpenSL ES 中的 3D 声音功能(如 3D 位置、侦听器)以及一般所有 3D 功能都需要设置 USE_PROFILES_GAME。

因为 OpenSLES 不是一个独立的实体并且依赖于其他系统库(如 wilhelm.so),所以我无法真正独立地编译该库。所以我下载了整个android源,设置了USE_PROFILES_GAME标志,在Android.mk中包含默认排除的3D相关类,然后构建新系统。

现在使用新的 android 系统映像,我可以获得位置推断,但它似乎不起作用,即我感觉不到源音频的位置发生变化。

有没有人在 android 中成功实现过 3D 音频功能(尤其是 3D 音频位置)?3D 音频功能是否对移动硬件有任何依赖性?

任何帮助表示赞赏。

4

2 回答 2

0

我知道的任何设备上仍然不支持 3D 界面。

来自 ndk/docs/opensles/index.html:“注意:虽然基于 OpenSL ES,但 Android 原生音频 API 不是任何 OpenSL ES 1.0.1 配置文件(游戏、音乐或电话)的符合要求的实现。这是因为 Android 没有实现任何配置文件所需的所有功能。”

于 2013-08-02T16:50:08.933 回答
0

当我尝试开发需要 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 方式自己编程 3D 效果

于 2013-09-17T22:23:53.313 回答