(先偷偷吐槽一下想了半天标题要怎么取才能表达清楚,虽然现在好像也没有完全表达清楚)
废话不多说了,在对接微信小游戏的时候发现了几个关于声音播放的问题。
cc.audioEngine.getState(audioId) 返回值存在bug
传入的 audioId 如果是未播放或者一个随便填写的id,会返回cc.audioEngine.AudioState.ERROR,值为-1,这个是没什么问题。但是如果传入的audioId是正在播放的音频的id,会返回cc.audioEngine.AudioState.PAUSE,值为2,这边感觉是个bug。
cc.audioEngine.setVolume(audioId, number) 设置音量无效
这个问题在论坛其实也有看人提过了,但是一直没有后续消息。
在微信小游戏中调用调整音量大小的接口,没有生效。用cc.audioEngine.getVolume去获取音量大小的时候确实是获取到了设置之后的数值,但是声音的音量并没有发生改变。
而且有个奇怪的地方,setVolume对于我们游戏的按钮音效是有效果的,对背景音乐却没效果,不知道是不是和音频的大小或者长度有关。顺带一提,游戏中的播放声音都是用cc.audioEngine.play接口来播放的,区别就是音乐的isLoop是true,音效是false。
在小游戏中切出去再返回游戏中,音乐不播放
在小游戏中点击右上角自带悬浮菜单右侧的退出按钮(这时候小游戏是在后台),过一会儿再切回游戏中,背景音乐就不播放了。这个问题不知道有没有什么其他解决方案?认识的一个老哥他们是把声音播放改用微信小游戏提供的声音接口,但是这个方案对于我们游戏来说改动太大,所以想寻求一个更好的方案,论坛的老哥们看看有没有啥方法~