HTML5 video autoplay="autoplay" 无法自动播放的问题

因浏览器中视频可以随意插入,自动播放所有视频肯定不安全。在有些浏览器中,只有用户进行一些交互后才会自动播放。

参考解决办法一:添加muted

<video muted src="" autoplay loop></video>

问题:我测试了一下不管用。

参考解决办法二:获取id,用js控制播放

let video=document.getElementById("startvideo");
video.play();

问题:没用交互执行的话,会报错

参考解决办法三:修改chrome浏览器限制

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

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

第三步,重启Chrome

问题:用户观看的网站总不能让每个用户自己去设置一遍吧,而且我也没找到设置的地方。可能我浏览器版本比较高

 

最终解决方案

let video=document.getElementById("startvideo");
let videoPlay = video.play();
videoPlay.then(() => {
    console.log('可以自动播放');
}).catch((err) => {
    console.log("不允许自动播放");
    video.muted=true;
    video.play();
})

 

参考链接:https://www.jianshu.com/p/c3c6944eed5a 

https://blog.csdn.net/zhouzuoluo/article/details/89336349


版权声明:本文为qq_27667337原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。