Android 安卓OpenAL?
有没有人为Android构建了OpenAL,或者在系统上找到了它的共享库?这似乎是对任何类型游戏的明显需求,但却没有资源。据我所知,Android java声音库似乎无法改变音高,因此似乎需要OpenAL。我知道OpenAL软件可以建立在ALSA之上,但我不确定是否有人能做到这一点,我相信这将需要我一个月的时间 如果在没有OpenAL的Android上有关于声音操作的好指南,那也没关系。只是OpenAL是游戏制作者的一种标准,将我的数千行代码移植到这个系统会很好,我认为这是NDK的重点,然后我进入它,发现系统上几乎没有共享库访问Android 安卓OpenAL?,android,audio,android-ndk,openal,alsa,Android,Audio,Android Ndk,Openal,Alsa,有没有人为Android构建了OpenAL,或者在系统上找到了它的共享库?这似乎是对任何类型游戏的明显需求,但却没有资源。据我所知,Android java声音库似乎无法改变音高,因此似乎需要OpenAL。我知道OpenAL软件可以建立在ALSA之上,但我不确定是否有人能做到这一点,我相信这将需要我一个月的时间 如果在没有OpenAL的Android上有关于声音操作的好指南,那也没关系。只是OpenAL是游戏制作者的一种标准,将我的数千行代码移植到这个系统会很好,我认为这是NDK的重点,然后我进
谢谢。。我希望我自己能够在不成为java专家的情况下进行移植。到目前为止真的不喜欢NDK 您可以使用NDK构建OpenAL并将其与APK打包。这样,您就可以从本机代码访问它。OpenSL计划在未来的Android版本中使用;OpenAL不可用,并且底层硬件禁止您在NDK中执行任何操作,因此您无法自己安全地构建它 即使是计划中的,也不支持低延迟音频;这里有一个这样的bug: 如果它与你相关,就给它加上星星;如果有足够的明星,谷歌可能会倾听
编辑:Android 4.0+中有低延迟音频,OpenSL现在可用。查看此页面和链接页面:也可以查看OpenSL上的NDK指南。就在谷歌宣布3D音频将包含在Android 2.3中之前,我设法为Android编译了OpenAL,并将其打包为共享对象 看 如果您希望将目标设备设置为<2.3,可能仍有帮助
干杯。NDK音频现在有几个选项:
您无法从NDK以任何受支持的方式访问低级声音api(ALSA等),因此不,您不能这样做。因此,唯一可以使用的api是一个java:android.media?不,您还可以在java中使用soundpool和audiotrack(低级),以及现在在本机代码中使用opensl es。Woops,很抱歉,我想你是说mediaplayer、soundpool和audiotrack是android.media的一部分。尽管您仍然可以使用opensl es,但前提是您愿意以2.2+为目标。另外,据我所知,如果您愿意使用JNI从java、从您的本机代码调用它,audiotrack确实为您提供了相当低级别的音频访问权限。编辑后,我将+1。这里积极鼓励在老问题上发布(好的)答案,这就是为什么会有。为了扩展Martin的答案,他还提供了一些高级使用示例。