audio标签在浏览器中无法实现自动播放,在标签内设置了autoplay,但是还是无法播放,之后又尝试使用js调用的办法解决这个问题,结果在触发之后,Chrome浏览器报错:
DOMException: play() failed because the user didn't interact with the document first.
然后去网上搜了一下原因,发现原因是为了避免用户在打开网页时产生噪音,各浏览器都禁用了这个功能,无法在不交互的情况下自动播放音乐;
我找了一些解决办法,但是最后还是需要点击屏幕才能触发,以下是代码:
HTML
<audio id='audio' src="music.mp3" autoplay ></audio>
JS
//解决谷歌浏览器音乐不能自动播放的问题,
function musicAutoPlay(){
let music = document.getElementById('audio')//获取audio
if (music.paused) {//判断一下paused(pused为真是禁用的)
music.play()//调用播放
}
}
setInterval("musicAutoPlay()", 10);//必须使用一个时间函数 ,不触发的情况下还是报错
//