-
Creator 版本: 2.4.4
-
目标平台:微信小游戏真机
-
重现方式:真机上操作,将小游戏切到后台后再切回前台
试了好多次,发现在微信开发者工具模拟器上是可以的,到了真机上就不行了,在引擎那边加了log终于找到了原因。
游戏切到后台后,引擎会调用CCGame.js的pause函数,然后调用CCAudioEngine里的break来停止正在播放的音乐。

我在break函数里加了log后在真机中发现了,原来真机中切换到后台,会调用两次这个break函数,在游戏进入后台后还会再调用一次,而且第二次调用不是从CCGame来的。


第二次调用break函数会导致breakCache变成空的(因为state===Audio.State.PLAYING这个判断会是false),所以在restore时也就无法播放音乐了(restore中要判断breakCache的length是否大于0)。

不知道这个是引擎的BUG还是微信的?
