Android Lollipop 上的 Cocos2dx 声音引擎问题

Cocos2dx soundengine issue on Android Lollipop

我在 Android 5 上遇到 Cocos2dx 2.2.6 问题。玩了一会儿游戏后,它开始严重滞后。 Android 4 不会发生这种情况。经过一些研究后,许多人表示 Android 5 使用 Cocos2dx 的音频引擎时存在问题。不幸的是,我还没有为此提出解决方案。我确定这是问题所在,因为如果我在 Android 5 上从我的游戏中取出声音和音乐,那么根本没有延迟。有人说要从 Cocos2dx 3 中获取声音引擎文件,但我不确定如何设置它。我相信这是一个严重的问题,许多 cocos2dx 2.2.6 用户都遇到过,所以我觉得有人想出了某种解决方案。如果有帮助,下面还有一些我收到的错误。

05-19 19:24:54.472: E/MediaPlayer(16766): Should have subtitle controller already set
05-19 19:24:54.472: E/MediaPlayer(16766): Should have subtitle controller already set
05-19 19:24:55.724: E/AudioTrack(16766): AudioTrack::set : Exit
05-19 19:24:56.304: E/ExtMediaPlayer-JNI(16766): QCMediaPlayer could not be located....
05-19 19:24:56.304: E/MediaPlayer-JNI(16766): QCMediaPlayer mediaplayer NOT present
05-19 19:24:56.374: E/MediaPlayer(16766): Should have subtitle controller already set
05-19 19:24:56.374: E/MediaPlayer(16766): Should have subtitle controller already set
05-19 19:24:56.604: E/ExtMediaPlayer-JNI(16766): QCMediaPlayer could not be located....
05-19 19:24:56.604: E/MediaPlayer-JNI(16766): QCMediaPlayer mediaplayer NOT present
05-19 19:24:56.644: E/MediaPlayer(16766): Should have subtitle controller already set
05-19 19:24:56.644: E/MediaPlayer(16766): Should have subtitle controller already set
05-19 19:24:57.645: E/AudioTrack(16766): AudioTrack::set : Exit
05-19 19:24:57.846: E/AudioTrack(16766): AudioTrack::set : Exit
05-19 19:24:58.076: E/AudioTrack(16766): AudioTrack::set : Exit
05-19 19:24:58.276: E/AudioTrack(16766): AudioTrack::set : Exit

正如您所说,这是具有 android 5.x 的旧 SimpleAudioEngine 的已知问题。

新的实现已集成到 cocos2d-x 3.3 及更高版本中,并为 2.x 编写了补丁。您可以在此处获取它和更多信息:http://blog.cocos2d-x.org/2015/04/performance-issue-caused-by-simpleaudioengine-on-android-5-0/