头部背景图片
小畅的学习笔记 |
小畅的学习笔记 |

H5视频、音频不能自动播放

H5视频、音频不能自动播放,Uncaught (in promise) DOMException: play() failed because the user didn’t

Uncaught (in promise) DOMException: play() failed because the user didn’t interact with the document

未捕获(承诺中)DOMException: play()失败,因为用户没有首先与文档交互。

错误原因:Chrome的autoplay政策在2018年4月做了更改。
在最新版的Chrome浏览器(以及所有以Chromium为内核的浏览器)中,已不再允许自动播放音频和视频。。就算你为video或audio标签设置了autoplay属性也一样不能自动播放。

解决办法一:修改浏览器默认设置

第一步,在chrome浏览器中输入:chrome://flags/#autoplay-policy
Image1.png

第二步,在Autoplay policy中将Default改为No user gesture is required

Image2.png

第三步,点击下方的“RELAUNCH NOW”,就大功告成了!

Image3.png

解决方法二:设置一个按钮, 按钮点击后触发自动播放

官方说的是为了移动端的带宽和仿扰民阻止了自动播放,因此,只要用户在页面上有交互动作后,就可以自动播放了;设置一个按钮, 按钮点击后触发自动播放
js

$("#start").click(function(){
    vMP3 = document.getElementById("myAudio");
    vMP3.play();
})

html

<audio id="myAudio" src="./music/dayDreamingPilot.mp3" controls>
    <source src="6" type="audio/mpeg">
    您的浏览器不支持audio元素
</audio>
<button id="start">开启</button>
Lililich's Blog