当我尝试在用户与页面交互之前运行 Audio.play() 时,它会引发错误:Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first我怎样才能捕捉到异常,这样我就不会乱扔控制台日志?我想尝试以编程方式加载音频并清除错误,但默认的 JavaScript try/catch 没有成功应用。
1 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
一般来说,在调用 HTMLMediaElement.play() 时给网络作者的建议是不要假设对 play() 的调用总是成功,并且始终处理 play() 返回的承诺被拒绝。
因为 play() 返回一个承诺,我们可以链接一个.catch()调用来处理错误:
Audio.play().catch(error => {
// Autoplay was blocked. Do something
})
添加回答
举报
0/150
提交
取消