这是一个困扰我许久的bug,debugger的时候没有找到错误的地方,然后今天早晨进公司,换了代码的加载位置和顺序,终于在浏览器里面找到了报错。
错误描述:进入浏览器的时候,会从后端传过来websocket通知,在浏览器会执行对应的音频文件,但是,如果刷新了浏览器之后,音频文件声音就没有了,也不会报错,直到鼠标触发浏览器的某个按钮或事件,会再次执行音频文件和声音。
问题所在:
chrome浏览器不支持audio和video标签的autoplay自动播放,因为放在火狐浏览器或者别的浏览器里面不会出现这样的bug。
解决方式如下:
在chrome 浏览器中输入:chrome://flags,搜索“Autoplay policy”,默认为“Default”,修改为 “No user gesture is required” 就可以了但是存在一个问题,用户的浏览器并没有设置此选项,得需要要一一设置吗?显然想不通,虽然这个bug没什么太大的影响,目前还木有找到解决办法,在线等解决方案,挺急的。