问题出现
正常来说,<audio>有autoplay
属性,如果设置了该属性,音频将自动播放。
然鹅,Chrome设置了Autoplay Policy Changes,让自动播放变得复杂…
所以有时候,Chrome会报错 Uncaught(in promise) DOMException
解决方案
在<audio>前增加一个<iframe>标签:
<iframe src="silence.mp3" allow="autoplay" id="audio"></iframe>
(silence.mp3是一个长度为0.5s的无任何内容的音频文件,你可以从这里下载)