码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-13 16:17:19      阅读:720      评论:0      收藏:0      [点我收藏+]

标签:uncaught   call   异步加载   cal   实现   元素   let   一个   加载   

解决方法:
audio.load()
let playPromise = audio.play()
if (playPromise !== undefined) {
    playPromise.then(() => {
        audio.play()
    }).catch(()=> {
       
    })
}

原因:
从Chrome50开始,对<video>或<audio>元素的play()调用返回一个Promise。
一个异步返回单个结果的函数。如果回放成功,Promise就会实现,而play事件也会同时触发,对应执行.then。
如果回放失败,Promise将被拒绝,同时会有一个错误消息解释失败,对应执行.catch。

错误发生的过程为:
1.media.play() 开始异步加载video/audio内容。
2.media.pause() 在video/audio没有准备好时中断加载。
3.media.play() 此时进行继续播放,报错。

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

标签:uncaught   call   异步加载   cal   实现   元素   let   一个   加载   

原文地址:https://www.cnblogs.com/Man-Dream-Necessary/p/9952415.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!