解决ios audio 无法自动播放
苹果公司考虑到用户流量访问的情况下,为了用户流量着想,需要用户交互点击、触摸等方式后才能播放。因此,ios中audio不能直接通过audio.play()播放,需要用户在click事件或者touch事件中执行audio.play()才能播放。解决办法引入微信jsdk后 就可以在 wx.ready()里 控制播放了。1.第一步:加载一个微信JS-SDK<script src="http://r
·
苹果公司考虑到用户流量访问的情况下,为了用户流量着想,需要用户交互点击、触摸等方式
后才能播放。
因此,ios中audio不能直接通过audio.play()播放,需要用户在click事件或者touch事件中执行audio.play()才能播放。
解决办法
引入微信jsdk后 就可以在 wx.ready()里 控制播放了。
- 1.第一步:加载一个微信JS-SDK
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
- 2.第二步:引入audio标签
<audio src="@/assets/media/video.mp3" id="Jaudio" style="opacity:0"></audio>
- 3.第三步:微信的相关配置以及兼容方法
audioAutoPlay(id) {
wx.config({
debug: false, // 配置信息, 即使不正确也能使用 wx.ready
appId: "",
timestamp: 1,
nonceStr: "",
signature: "",
jsApiList: []
});
wx.ready(function() {
var globalAudio = document.getElementById(id);
globalAudio.play();
audio.play();
//微信下兼容处理
document.addEventListener( "WeixinJSBridgeReady", function() {
audio.play();
},
false
);
document.addEventListener( "YixinJSBridgeReady", function() {
audio.play();
}, false );
});
}
最后,需要再播放音乐的地方进行方法调用就ok啦!
总结
在ios中,如果需要播放音乐或者视频,需要用户手动触发事件在调用.play()才能播放(autoplay或者直接.play()是不能直接触发的);
更多推荐
已为社区贡献2条内容
所有评论(0)