vue项目中 audio 自动播放

<audio  
  ref="initAudio"
  autoplay  
  controls="controls" 
  src="../123.mp3.mp3">
</audio>
 mounted() {
     this.$refs.initAudio.play()
 },

报错提示: 没有交互

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

页面加载无法自动播放,不想在浏览器里设置,别的有什么方法吗?

阅读 8.1k
3 个回答

created的时候dom还没挂载,要放mounted里,你这么做难道控制台不报错吗

添加 autoplay 属性(除了chrome),chrome 需要在 mouted 里触发,移动端需要手动触发

<audio  
  ref="initAudio" 
  controls="controls" 
  src="../123.mp3.mp3"
  autoplay 
>
</audio>

手机端浏览器禁止音频自动播放,需要用户行为触发,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题