問題描述
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版本:

完成

