音效用cc.audioEngine.playEffect播放,背景音乐用cc.audioEngine.playMusic播放,都是mp3格式。
在微信和抖音小游戏平台一切正常。但在安卓平台下就是各种千奇百怪的异常了。
先说结论,结论1:音效和背景音乐冲突,也就是播放音效时中断背景音乐。结论2:音效和背景音乐导致卡死。
1、音效和背景音乐冲突
比如一个物体在移动(移动时发出音效)的这样一个场景,如果用按钮控制物体移动,那么现象是当发出音效时,背景音乐被中断一下,音效结束后,背景音乐继续。
同样是上述场景,如果用手势来控制物体移动,那么现象是当发出音效时,背景音乐被中断,音效结束后,背景音乐重头播放(注:和上述的区别是重头播放,而不是从间断处播放。这个给人的感觉更不好。)。
在程序中,用按钮和手势控制物体移动,其实都是调用了同一个move()方法。区别是用按钮控制时比较简单,直接调用move()方法。用手势控制时,有一些getTouches(),然后做一些位置和方向判断之类的处理,这之后才是调用的move()方法。也就是说,用手势控制时,代码量略微多些,系统开销也可能会大些。但总之就都是音效会中断背景音乐,区别是上述所描述的那样:按钮控制时背景音乐被中断后,从被中断处接着播放,手势控制是背景音乐被中断后,重头播放。
2、音效和背景音乐导致卡死。
有时会出现卡死现象,报错是:frameworks/wilhelm/src/android/AudioPlayer_to_android.cpp:886: pthread_mutex_lock_timeout_np returned 110
现在已经彻底被这些千奇百怪的现象搞晕了,都没信心接着往原生平台发布了。请各位老师多多指点,给点思路也可以,万分感谢!