每人理,自己来,暂时微信端iOS 的解决方案
在iOS内所有的媒体资源需要用户主动触发事件才能加载,所以play()必须放在例如click的事件内执行,不然会被浏览器拦截
在微信里可以借助WeixinJSBridge来替代click来实现自动播放,
window.WeixinJSBridge.invoke("getNetworkType", {}, playMedia);
function playMedia(){
mediaObject.play();
}
即使在点击事件里或者微信事件里用laya的loader.getRes()方法,即使你预加载了,返回的依然会是undefined;直接使用SoundManager.playSound()也无效。使用SoundManager.playMusic()有效;
要使用playSound(),必须要先调用一次playMusic()
即使提前预加载了音频,playMusic()依然会去再加载一次,也就是说,如果需求是立即播放音频,第一次播放都会有延迟