遇到一个神奇的问题:在iOS Webview 上,我想忽略静音模式播放音频,端上已经对webView进行了设置,接下来是处理cocos音频的加载和播放。问题来了,我在开始的时候加载了一个远端音频,因为只有loadRemote接口可以传入音频加载模式为DOM_AUDIO;其它的音频我使用的是bundle的load加载的,这个时候播放完远端音频,bundle加载的Audio也可以播放了,有没有大佬知道其中的原理?求解,先谢谢啦
请再描述一下你的问题?有点没理解。
嗯,是这样:首先cocos creator 版本是3.5.2, 运行环境是在webview上。在iOS设备上,会受到静音模式的影响,即静音模式下就无法播放出声音;iOS端上是有策略可以忽略静音模式的,就是说即使iOS设备打开了静音模式,仍然可以播放出声音。我的音频文件都是用bundle的load接口加载的,这个我理解加载的模式是web_audio,遇到的问题就是这时候是无法播放出声音的。于是我查看论坛里https://forum.cocos.org/t/ios/94244这个贴子,说是音频需要改为dom_audio模式,于是我在初始的时候先使用loadRemote的方式加载了一个远端音频资源,加载模式改成了dom_audio,这个时候发现这个音频可以正常出声了,其它用bundle 的load接口加载的音频也可以正常播放声音了,不明白 这其中原理。不知道我描述清楚了吗?
得从引擎源码上去找答案了,过会我看下。
好的,非常感谢,我看了一下引擎源码,没看出原因
我先是做了一个简单的测试,先加载 DomAudio 的远程音频资源,之后加载 bundle 中的音频资源。目前从两个 AudioClip 资源对象中的 loadMode 结果来看,远程音频资源使用 DomAudio,bundle 音频资源使用了 WebAudio。
所以引擎底层应该也是这样去解析 Audio 的。为什么会出现你的疑问,确实不清楚。大概率和引擎无关。
非常感谢,资源的loadMode如您所说。
出现的现象可能还是在webview上,不知道为什么播放了dom audio后,web audio 就可以播放出声音了,而不播放dom audio,web audio就无法出声音。费解
3.72现在也是有这个问题,兄弟 你找到解决办法了吗