Android OpenAL?

Kyl*_*yle 31 audio android openal alsa android-ndk

有没有人为Android构建OpenAL,或者在系统上找到它的共享库?对于任何类型的游戏来说,这似乎是一个显而易见的需求,但它没有任何资源.似乎Android java声音库无法根据我所知道的进行音高变化,因此似乎需要OpenAL.我知道OpenAL Soft可以构建在ALSA之上,但我不确定是否有人这样做,我相信这需要一个月的时间.

如果在没有OpenAL的Android上进行声音操作的某个地方有一个很好的指导,那也没关系.这只是OpenAL的是那种对游戏厂商的一个标准,它会是不错的端口我千行到这个系统,我有点觉得是NDK之前,我荣登网站到它的点看,发现里面几乎没有系统上的共享库访问.

谢谢..我希望我能在不成为Java专家的情况下实际移植.到目前为止真的不喜欢NDK!

Aer*_*alX 33

NDK音频现在有几个选项:

  1. 它不是OpenAL,但OpenSL ES 1.0.1是API级别9(2.3)的NDK的官方部分.更多信息在这里.

  2. OpenAL Soft在其git master中有一个OpenSL ES后端(自版本1.13起未发布).然而,此时它在Android上被打破了,因为它是为OpenSL ES 1.1编写的,而不是1.0.1.请参阅此提交以获取修复.

  3. 正如之前的回答中所提到的,OpenAL Soft的JNI后端链接并在此描述为2.3之前的Android平台上OpenAL的唯一选项.但是,这是一个过时的OpenAL Soft分支 - 我已经将后端更新到github repo上的最新版本以及OpenSL ES 1.0.1修复程序.还包括一个未经测试的可选补丁,声称可提供更好的性能和更少的延迟.


小智 8

就在Google宣布将3D音频纳入Android 2.3之前,我设法为Android编译OpenAL,并将其打包为共享对象.

http://pielot.org/2010/12/14/openal-on-android/

如果你想定位设备<2.3,可能仍然有帮助.

干杯.


Som*_*Tim 5

OpenSL计划用于未来的Android版本; OpenAL不可用,低级硬件对NDK中的任何操作都是禁止的,因此您无法自行安装.

即便计划也不支持低延迟音频; 这里有一个错误:

http://code.google.com/p/android/issues/detail?id=3434

如果它与你相关,那就明星吧 如果有足够的明星,也许谷歌会听.

编辑:Android 4.0+中存在低延迟音频,OpenSL现已上市.请参阅此页面和链接页面:http://source.android.com/devices/audio/latency.html另请参阅OpenSL上的NDK指南.


Cas*_*eyB -3

您可以使用 NDK 构建 OpenAL 并将其与您的 APK 打包。这样您就可以从本机代码访问它。

  • 您无法从 NDK 以任何支持的方式访问低级声音 API(ALSA 等),所以不,您不能这样做。 (2认同)