如何捕获自动播放 DOMException?

当我尝试在用户与页面交互之前运行 Audio.play() 时,它会引发错误:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first

我怎样才能捕捉到异常,这样我就不会乱扔控制台日志?我想尝试以编程方式加载音频并清除错误,但默认的 JavaScript try/catch 没有成功应用。


阿波罗的战车
浏览 111回答 1
1回答

暮色呼如

一般来说,在调用 HTMLMediaElement.play() 时给网络作者的建议是不要假设对 play() 的调用总是成功,并且始终处理 play() 返回的承诺被拒绝。因为 play() 返回一个承诺,我们可以链接一个.catch()调用来处理错误:Audio.play().catch(error => {  // Autoplay was blocked. Do something})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript