creator切后台音乐再开问题


creator切后台音乐再开问题

问题:

1
2
cc.audioEngine.pauseMusic();
cc.audioEngine.resumeMusic();

这两个方法在某些浏览器,切后台再切回会失效,并且播放的背景音乐id不再受cc.audioEngine控制

可以采用如下方法规避此问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 监听切后台
cc.game.on(cc.game.EVENT_HIDE, this.onEnterBackground, this);
cc.game.on(cc.game.EVENT_SHOW, this.onEnterForeground, this);

onEnterBackground() {
// 如果当前是播放音乐,则直接停掉音乐
if(this._enableMusic) cc.audioEngine.stopMusic();
},
onEnterForeground() {
// 如果当前是播放音乐,则重新播放音乐
if(this._enableMusic){
cc.loader.load(cc.url.raw("bg.ogg"), (errors, clip) => {
if (errors) return;
cc.audioEngine.playMusic(clip, true);
});
}
},