audio解决不能自动播放问题
问题描述
无法实现打开网页就能自动播放音乐
正常情况下使用autoplay即可实现自动播放,但是现在打开网页该参数无效
原因分析:
根据最新的规范,Chrome系浏览器,没有交互过的网站默认禁止自动播放,所以现在使用autoplay,打开网页无法实现自动播放.
解决方案:
html
<audio src="1.mp3" id="audios" autoplay preload controls></audio>
js部分
var audio = document.getElementById('audios');
function audioAutoPlay(audio){
play = function(){
audio.play();
document.removeEventListener("touchstart",play, false);
};
audio.play();
document.addEventListener("WeixinJSBridgeReady", function () {
play();
}, false);
document.addEventListener('YixinJSBridgeReady', function() {
play();
}, false);
document.addEventListener("touchstart",play, false);
}
//每隔2秒检测是否播放音乐,播放则停止定时器
let t = setInterval(() => {
if(audio.paused === false){
console.log('停止定时器');
clearInterval(t);
}else{
console.log('执行定时器');
audioAutoPlay(audio);
}
},2000);