Chrome瀏覽器視頻自動播放報Uncaught(in promise)DOMException


先看代碼 用jquery 實現視頻的自動播放 

$(function () {
var vList = ['video/zykj.mp4']; // 初始化播放列表 var
vLen = vList.length; // 播放列表的長度
var curr = 0; // 當前播放的視頻
var video = document.getElementById("myvideo");
video.addEventListener('ended', play1);//監聽
play1();
function play1() {
var video = document.getElementById("myvideo");


video.load(); //如果短的話,可以加載完成之后再播放,監聽 canplaythrough 事件即可
video.src = vList[curr];
video.play();
//video.paused ? video.play() : (video.pause(), video.play());
curr++;
if (curr >= vLen)
curr = 0; // 播放完了,重新播放
}
})

注:這個代碼在其他瀏覽器上都好使,唯獨在Chrome瀏覽器上報 Uncaught (in promise) DOMException 這個錯誤

解釋下:

Chrome的autoplay政策在2018年4月做了更改。

新的行為:瀏覽器為了提高用戶體驗,減少數據消耗,現在都在遵循autoplay政策,Chrome的autoplay 政策非常簡單

1. muted autoplay始終被允許

2. 音樂的autoplay 只有在下面集中情況下起作用:

    1. 有用戶行為發生像(click,tap,etc).

    2. 對於桌面程序,用戶已經提前播放了音頻

    3. 對於移動端用戶將音頻網址home screen.

 

那需要怎么解決呢, 我找了很多感覺只能在本機自己修改。我把解決方法放下面 如果您看到了有好的辦法請及時給我留言。

解決方案:

1、chrome://flags/#autoplay-policy    這句話放在瀏覽器的地址欄之后回車就行,就會出現下面的信息

2、Autoplay policy 這一項 設置成  No user gesture is required 

 

 

 

 

 

 3、重啟Chrome瀏覽器

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM