Chrome自动播放声音

问题

浏览器中使用audio播放声音,调用play方法时会有异常。大概提示信息是说:用户还没有对该页面进行过交互操作。

原因分析

最新版本的浏览器基本上都有了限制:如果用户没有对页面进行过操作,则不允许播放声音。也就是说,浏览器会认为没有交互过的页面要播放声音是恶意的广告行为。

解决办法

进行代码级的突破性方式均不可取。即使有“高手”找到了某种所谓的方法,也应该很快被浏览器厂商给封掉。

修改产品设计

由自动播放为用户手动触发播放。这就变成了用户行为,浏览器都是允许的。这就需要在web应用的设计上进行调整。保证播放声音之前有过用户操作。

chrome设置

这种方式不适用于面向大众的产品,企业应用可以使用。浏览器还是留给我们设置白名单的权限的。对浏览器进行设置的方式如下:

  1. 在浏览器地址栏输入

  2. 在‘Allowed to play sound’中,添加产品域名

  3. 设置完成,即使用户无交互,也可以播放声音.