共计 669 个字符,预计需要花费 2 分钟才能阅读完成。
问题描述
js 控制 audio 自动播放音乐时报错:
Uncaught (in promise) DOMException
我的报错之前的代码:
<audio id="myaudio" src="assets/audio/ 芒种.mp3" controls="controls" loop="true" hidden="true">
</audio>
$(function () {var myAuto = document.getElementById('myaudio');
myAuto.play();})
网上搜原因说是:
这是因为,Chrome 只允许用户对网页进行主动触发后才可自动播放音频和视频。其实,严格地来说,是 Chrome 不允许在用户对网页进行触发之前播放音频,而视频其实是不受限制的。但因为视频文件同样包含了音频,所以也一同被禁止了。Chrome 这样做的目的是为了防止开发者滥用自动播放功能而对用户产生骚扰。
内容来源于:http://www.nooong.com/docs/chrome_video_autoplay.htm
解决办法:
在上面的 html 代码中加入 autoplay
,如下:
<audio id="myaudio" src="assets/audio/ 芒种.mp3" controls="controls" autoplay loop="true" hidden="true">
</audio>
然后就可以正常播放了,我的 Chrome 版本:
完成
<center> 如果喜欢的话,欢迎关注 weyoung 公众号 …</center>
<div align=center>
</div>
正文完
发表至: java
2019-09-27