JavaScript自动播放背景音乐

问题描述

js控制audio自动播放音乐时报错:

Uncaught (in promise) DOMException

播放音乐报错-201992704146

我的报错之前的代码:

1
2
<audio id="myaudio" src="assets/audio/芒种.mp3" controls="controls"  loop="true" hidden="true">
</audio>
1
2
3
4
$(function () {
var myAuto = document.getElementById('myaudio');
myAuto.play();
})

网上搜原因说是:

这是因为,Chrome只允许用户对网页进行主动触发后才可自动播放音频和视频。其实,严格地来说,是Chrome不允许在用户对网页进行触发之前播放音频,而视频其实是不受限制的。但因为视频文件同样包含了音频,所以也一同被禁止了。Chrome这样做的目的是为了防止开发者滥用自动播放功能而对用户产生骚扰。

内容来源于:http://www.nooong.com/docs/chrome_video_autoplay.htm

解决办法:

在上面的html代码中加入autoplay,如下:

1
2
<audio id="myaudio" src="assets/audio/芒种.mp3" controls="controls" autoplay loop="true" hidden="true">
</audio>

然后就可以正常播放了,我的Chrome版本:

浏览器版本-201992705022

完成


后面发现偶尔也会出现上面的错误。。。

coder立夏 wechat
扫描上方二维码,关注weyoung公众号,一起互动交流~~