Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()

2019-07-24408次阅读javascript

在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中有此问题的讨论。

上一篇: null是一个对象  下一篇: Math.max() 比 Math.min() 小  

Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()相关文章