creator 2.0.9 和 creator 2.1.2
打包vivo 小游戏rpk的时候。把声音调成静音模式。然后切换到后台。再从后台切换回游戏的时候。会播放一次音效。而播放的前提是调用过一次这个方法后就会出现切换回来声音闪现的问题
![]()
我尝试着将声音管理器的clip设置为空。然而还是会出现这个问题。。
请问有大佬或者引擎组的人知道是什么原因吗?
creator 2.0.9 和 creator 2.1.2
打包vivo 小游戏rpk的时候。把声音调成静音模式。然后切换到后台。再从后台切换回游戏的时候。会播放一次音效。而播放的前提是调用过一次这个方法后就会出现切换回来声音闪现的问题
![]()
我尝试着将声音管理器的clip设置为空。然而还是会出现这个问题。。
请问有大佬或者引擎组的人知道是什么原因吗?
还有一个问题是。。
打包vivo的时候。如果在resources\builtin\vivo-runtime\build-runtime-ui 将md5 cache 设为true 的话。打包出来的包就会没有声音。但是不设为true的话,打包出来的包游戏ui就做不了刷新。哪怕清了缓存也是。这个不知道有没有其他人遇到这个问题。
我在oppo也设为true。但是oppo没有这个问题。vivo有。这个算是引擎的打包问题还是vivo平台的问题呢。。?
我的项目也出现这个问题了
也算在vivo渠道
有BUG,参考这个帖子https://forum.cocos.com/t/vivo/83157/14
楼主最后怎么处理?4楼的方法不行~
1、找到 “安装目录\resources\builtin\vivo-runtime\res\jsb-adapter\engine\jsb-audio.js” 这个文件
2、找到 cc.audioEngine.resumeAll 方法,可以发现方法体里对所有的innerAudio进行里播放(造成了所谓的声音闪现)
所以只需要修改一下这里就能解决声音闪现问题。
3、观察发现所有播放完的音效(innerAudio)的_audioId属性的值都为-1。所以进行修改如下:
cc.audioEngine.resumeAll = function () {
cc.audioEngine.audios.forEach(element => {
element._audioId >-1 && cc.audioEngine.resume(element);
});
}
4、删掉qgame目录,重新构建即可解决问题。
好像没用哦,ccc版本是2.2.2 vivo调试器是1058
如果 “mister_akai” 提供的方法不能解决可以尝试
修改 jsb-audio.js 中 proto.resume 方法为
proto.resume = function () {
if (this.id != -1) {
if (this.id.state == 1) {
this.id.state = cc.AudioEngine.AudioState.PLAYING;
this.id.play();
}
}
};
我的项目按照mister_akai的改了无效,按照你的改了后切回前台,闪现的声音和背景音乐一起被关了
实测可用,感谢
2.0.9版本 遇到切换前后台 闪现音效,实测有效,感谢