audio 标签不能自动播放的问题

1、产品运行平台

Chrome

2、需求:

打开html页面的时候,自动播放一段音频

3、遇到的问题:

在页面加载完成后的js里面用 $("#audio").play()方法进行播放会报错

image.png
(如果页面添加一个按钮,点击按钮的时候再调用play方法就正常了)

4、尝试的方法

查过一些资料,说是需要用户事件之后才能调用 play()方法进行播放,于是我进行了以下尝试,结果均失败,报错信息同上图
(1) 页面加载完成后调用一下 $("body").click();
$("body").trigger("click")
(2) 监听全局的鼠标移动事件

  document.onmousemove=function(ev){
       $("#audio").play()
   }

还有一些朋友说可以监听鼠标滚动事件等,但我的页面中没有滚动条,故不适用,
拜托各位大神赐教

阅读 7.9k
2 个回答

浏览器报出的错误已经说了原因: Chrome不允许在用户没有和页面交互之前调用自动播放音频
你手动调用click方法也不属于用户交互

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