iOS H5播放远端音频切后台再切回来,音频不能恢复播放

  • Creator 版本: 2.4.3

  • 目标平台: weex内置浏览器,iOS端,在iOS11上没有出现,在iOS14上有出现

  • 重现方式:调用使用cc.assetManager.loadRemote() 方法加载远程音频,在完成回调里,调用cc.audioEngine.play()方法,在音频播放出来之前,立即切后台,等两三秒切回来,音频不能恢复播放。打log发现,有的时候切回来,根据audioID取到的状态,有的时候是cc.audioEngine.AudioState.PLAYING也有时候是cc.audioEngine.AudioState.STOPPED。此时手动调用resume和resumeAll方法也没有用。

  • 首个报错:

  • 之前哪个版本是正常的: 在iOS11和安卓上,暂时没有发现这个问题

  • 手机型号: iPhoneSE iOS版本14.3

  • 手机浏览器: weex封装的webview调用的

  • 编辑器操作系统: Windows10

  • 重现概率: 比较高,在调用play方法的瞬间,切到后台,甚至调用play之前的瞬间操作切换到后台,都可以复现,如果音频已经播放出来,或者还没有加载远程音频,则不会出现这种问题

只是放在cdn的远端音频会这样,如果是打包放到resource文件夹内的音频,就没有问题,按道理都是远端的音频吧,只是URL不同?或者对自己resource内打包的目录有什么特殊处理?

如果在场景上挂衣钩audioSource,设置自动播放,则可以避免上面的问题。但是,这个AudioSource无论设置静音还是音量为0,都是能播放出声音的,这个也是bug吗

有没有官方人员回复一下

哥们,你解决了吗? 我在iOS原生的webview上面似乎也有类似问题

这里有介绍,可以参考下:https://docs.cocos.com/creator/2.3/manual/zh/getting-started/faq.html

我现在是在进入游戏的一瞬间,立即播放一个短暂的没声音的音频,这样后面的音频播放就正常了,你可以试下看看

感谢,春节的时候搞定了,论坛没用好