我正在使用 adobe air 为 android 开发一个简单的游戏,但是在设备上播放它时声音效果有一些延迟。我检查了声音(mp3 文件)是否在开始时有任何静音,但声音文件没有任何静音。所以我想我可以开发一个 ANE 来播放声音并避免音频延迟。现在 ANE 的问题是它在尝试访问 mp3 文件时会引发 IO 错误。我是创建 ANE 的新手,但无法正常工作。我在 res/raw 文件夹中有名为 snd.mp3 的 mp3 文件,我将 res 文件夹复制到 Android-ARM 文件夹,并将 ANE 与sounds.jar 和 library.swf 一起打包。我SoundPool
用来播放声音。
我试图通过将字符串传递给加载函数来访问声音SoundPool
:
sp.load("android.resource://" +
freContext.getActivity().getPackageName() +
freContext.getResourceId("raw.snd"));
然而,resourceId 给出了一个唯一的数字,表明声音文件存在,但我无法播放声音。我也试过了MediaPlayer
,它是一样的。它抛出 IO 错误。有什么我做错或遗漏的事情吗?任何帮助,将不胜感激。提前致谢。