audio 设置了autoplay在安卓手机上是正常自动播放的,但是由于ios的限流政策导致在ios手机上需要用户手动点击播放,为了统一,SO:
- 解决ios微信不自动播放
const _audio = document.getElementById('audio');
if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
_audio.play();
} else {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", function() {
_audio.play();
}, false);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", function() {
_audio.play();
});
document.attachEvent("onWeixinJSBridgeReady", function() {
_audio.play();
});
}
}
- 解决ios safari浏览器不自动播放,当用户开始触碰页面时出发播放。
document.addEventListener("touchstart", function(e) {
if (isPlay) {
_audio.play();
isPlay = false;
}
}, false);
个人总结,如有错误,欢迎纠正。
网友评论