为了账号安全,请及时绑定邮箱和手机立即绑定

如何捕获自动播放 DOMException?

如何捕获自动播放 DOMException?

阿波罗的战车 2023-05-25 16:46:18
当我尝试在用户与页面交互之前运行 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

})


查看完整回答
反对 回复 2023-05-25
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信