Uncaught (in promise) DOMException 报错

最近在项目里面加入视频自动播放,有时候会报错(RT),不能自动播放。

<video
	id="videoPlayer"
	v-show="!isNormalCamera"
	class="preview-video"
	name="media"
	controls="controls"
	autoplay="autoplay"
	loop
>
	<source :src="videoSrc" type="video/mp4">
</video>

然后查了一下说是Chrome浏览器会禁止自动播放 https://developers.google.com/web/updates/2017/09/autoplay-policy-changes 。然后里面有解决办法,代码如下。

var promise = document.querySelector('video').play();

if (promise !== undefined) {
     promise.then(_ => {
     // Autoplay started!
 }).catch(error => {
    // Autoplay was prevented.
    // Show a "Play" button so that user can start playback.
  });
}

当我这样写的时候发现问题还没有解决。然后在 找到了另一个解决方法就是 在标签里面加入 muted="muted" 然后问题解决。

<video
	id="videoPlayer"
	v-show="!isNormalCamera"
	class="preview-video"
	name="media"
	muted="muted"
	controls="controls"
	autoplay="autoplay"
	loop
>
	<source :src="videoSrc" type="video/mp4">
</video>

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
回答: 当你在网页中尝试播放音频时,可能会遇到"Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first."的报错。这是因为现代浏览器为了防止自动播放音频而采取的安全措施。为了解决这个问题,你可以通过以下几种方式来处理。首先,你可以在用户与网页有任何交互后再播放音频,比如在用户点击页面的某个元素时。你可以使用以下代码来实现这个功能:\[2\] ``` document.body.addEventListener('mousedown', function(){ var vdo = $("video")\[0\]; //jquery vdo.muted = false; }, false); ``` 另外,你也可以使用JavaScript代码显式调用play方法来播放音频。你可以在视频元素上设置src属性,并在oncanplay事件触发后调用play方法。以下是一个示例代码:\[3\] ``` <video></video> <script type="text/javascript"> var vdo = $("video")\[0\]; //jquery vdo.src = "YOUR_VIDEO_URL"; vdo.oncanplay = function(){ this.play(); }; </script> ``` 通过以上方法,你可以解决"Uncaught (in promise) DOMException"报错并成功播放音频。 #### 引用[.reference_title] - *1* *2* *3* [HTML5<video报错Uncaught (in promise) DOMException解决方法[转]](https://blog.csdn.net/weixin_44038264/article/details/113701902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值