目录
前言
今天写了一个socket接收信息audio循环播放报警声音的功能,但是发现无法实现,原因是谷歌浏览器禁止了自动播放声音,包括视频等
一、audio代码
// template片段
<audio ref="audio"
id="audio"
:src="require('../assets/music/alarmSound.wav')"
@ended="audioFinished">
</audio>
// 播放完毕后 重新播放
audioFinished() {
this.$refs.audio.play()
}
// 暂停播放
isaudio() {
this.$refs.audio.pause()
},
// 重置播放进度 用于重新播放
this.$refs.audio.load()
测试发现谷歌浏览器在用户进行操作之前无法操作 this.$refs.audio.play() 原因是谷歌浏览器限制了无人监守下自动播放音频的功能.
这个无人监守只限制了点击页面,第一次登录是可以自动播放的,但是在这个页面刷新后就无法播放了
查了很久发现除了调整浏览器设置没有办法.但是又发现了哔哩哔哩是可以的 https://www.bilibili.com/blackboard/topic/k-on_graduation_web.htmld
没办法求问大佬,解释说像b站,斗鱼等等都是向浏览器厂商申请的,没办法只能改变别的方法.修改谷歌浏览器了
二、谷歌浏览器修改步骤
总结
以上只是个人工作中遇到的难点,如果有大佬有更好的方法可以告诉我一下.