audioEngine resumeAll() 方法调用无效

  • Creator 版本:1.61
  • 目标平台:(Web)
  • 重现方式:切换应用返回,qq空间分享返回后,调用resumeAll()方法,声音没有恢复,偶尔有成功的时候
  • 手机型号(可选):ios.

空间H5 应用, 猪来了也与偶类似问题

  • 出现概率:大概率

玩吧,一个游戏能多开,点一个快捷方式出一个新的游戏

玩吧有个查询页面可见性的接口,监听这个事件

页面为可见时调用 resumeAll方法就可以吗? 那我去试试

刚试了, 页面可见时调用 ,声音还是没有恢复

上代码吧,我的可以,这个肯定是你的问题

mqq.addEventListener(“qbrowserVisibilityChange”, function(e){
cc.info( ’ qbrowserVisibilityChange ’ + e.hidden);
if(e.hidden){
cc.info(“cc.audioEngine.pauseAll”);
cc.audioEngine.pauseAll();
}else {
cc.info(“cc.audioEngine.resumeAll”);
cc.audioEngine.resumeAll();
}
});
我是这样开的监听 ,日志里都输出了,就是没用

我也是这么写的,好像没问题啊

我也比较纳闷,怎么弄都不行,不过我看玩吧里好多游戏都有这个情况

可以帮忙试试 example-cases 项目么?就是那个测试例,里面有一个 simpleAudio 的测试,可以试试在玩吧里面运行这个。然后里面有 pauseAll 和 resumeAll 两个按钮,点点看是不是可以正常运行。

我怀疑可能是资源异常了或者是音频状态异常了。除了玩吧,在普通浏览器里面会么?

玩吧那个环境有很多问题的,比如可以同一个游戏多开,你点一次快捷方式就出一个新的页面,有时候你关闭了,其实还有很多其他的没关闭

其他浏览器应该没有问题, simpleAudio 的测试 在玩吧里还是不行,而且这个问题只在系统ios 11及以上才出现,安卓及ios11以下没有出现这个问题

= =。好吧,如果在分享跳出页面之前前,主动 pauseAll 一下呢,或者 stopAll 一下,回来再重新播放能不能解决?

ios 11网上说了有很多问题,建议不要升级

嗯,有空我去测试下

11确实问题多,但是苹果是大佬,不得不适配啊,哎