让Electron打包的客户端自动播放音频

浏览器默认禁止自动播放音频,但是需要用到自动播放音频的功能。。Electron打包的客户端目前已经解决。不知道网页有什么好的解决方案

最近,测试给我提了一个bug,说是我们的客户端和网页版在收到访客来消息的时候有时候不会播放声音,网页端的控制台还会报错!

Chrome下的报错信息

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

Safari下的报错信息

1
Unhandled Promise Rejection: NotSupportedError: The operation is not supported.

…从报错信息结合百度(google)看出来,浏览器不支持通过脚本控制音频的播放了!!

网上说给video或者audio标签添加 muted 属性可以解决??但我在项目中测试发现audio标签上添加这个并没有什么用。。。(难道是我操作姿势不对??)

目前网页版除了让用户设置浏览器之外,好像没有什么解决办法??

electron打包的客户端可以在主进程中嵌入如下代码即可解决(至少目前发现是可用的):

1
2
// 在creatWiindow的时候使用
app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required');

如果各位大佬们有什么解决方案,下方给我留下言,万分感谢。

感谢各位的阅读