微信小游戏中cc.audioEngine的bug与后台切回小游戏声音不播放

(先偷偷吐槽一下想了半天标题要怎么取才能表达清楚,虽然现在好像也没有完全表达清楚)

废话不多说了,在对接微信小游戏的时候发现了几个关于声音播放的问题。


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接口来播放的,区别就是音乐的isLooptrue,音效是false

在小游戏中切出去再返回游戏中,音乐不播放

在小游戏中点击右上角自带悬浮菜单右侧的退出按钮(这时候小游戏是在后台),过一会儿再切回游戏中,背景音乐就不播放了。这个问题不知道有没有什么其他解决方案?认识的一个老哥他们是把声音播放改用微信小游戏提供的声音接口,但是这个方案对于我们游戏来说改动太大,所以想寻求一个更好的方案,论坛的老哥们看看有没有啥方法~

1赞

1.9.1有修复,但是还没放正式版

我的解决办法是在响应onhide 跟onshow消息,在hide的时候,暂停,在show的时候继续,但是,在部分Android会有问题,会播放两遍,还未定位到原因

也是碰到这样的问题

在iOS上,出现频率很高,有时候甚至是必现的。

我也遇到这个播放2遍的问题

我改成小游戏自带音频api就不会有这个问题了

兄弟你挖坟了