报错: DOMException: play() failed because the user didn't interact with the document first

打开页面直接播放音视频,会出现如下报错:DOMException: play() failed because the user didn't interact with the document first. 该怎么解决?
发布时间: 2021-12-27 10:00

回答:

报错信息:

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

原因:

该报错是浏览器对于自动播放限制抛出的:play方法调用失败,因为用户没有先操作文档【用户没有先去跟网页做交互再执行音频播放】


解决方案:

1、建议您再播放资源前,进行页面交互动作,比如点击后再播放

2、或者您可以在构建 DOM 元素时先设置 muted="muted" 属性,调用 play 后再修改静音属性试下是否可以正常

3、如果使用的是 5.X 版本,在获取的 track 的时候做一个判断,如果是音频就不做 track.play(),用户点击的时候进行 play()