在Chrome浏览器中,抛出阻止视频自动播放的错误提示:Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause();
解决方案如下:
方法一:先判断视频的播放状态,然后实现其显示播放或隐藏的功能。
const videoEle = document.getElementById('video');
const isPlaying = videoEle.currentTime>0 && !videoEle.paused && !videoEle.ended && videoEle.readyState>2 ;
if(!isPlyaing){
//添加db显示类名
videoEle.className='db';
videoEle.play();
}
总结:思路或许正确,代码思路也清晰,但不能解决Chrome的报错问题。
方法二:先判断视频是否显示,然后使用video/audio的load()方法,重新加载视频元素;
const videoEle = document.getElementById('video');
if(videoEle.className == 'db'){
videoEle.load();
videoEle.play();
}
总结:解决了Chrome对于视频的不允许自动播放的报错问题。
方法三:chromium中有此问题的讨论。