Chrome最新版本如何通过JS设置支持自动播放音频

众所周知,chrome浏览器在2018年4月起,就在浏览器上全面禁止了音视频的自动播放功能。不光是这样,在页面加载完毕的情况下,用户没有click、dbclick、touch等主动交互行为,使用js直接调用.play() 方法的话,chrome都会抛出如下错误:

Uncaught (in promise) DOMException: play()
Uncaught (in promise) DOMException: play()

 

直到用户有交互之后,再次调用play()方法才会正常播放。但是对于开发来说,很多情况下我们还是需要让音频自动播放的,比如实时消息通知,有最新消息的话,播放提示音,这种情况下我们该怎么办呢?

网上的做法通常是在chrome地址栏输入chrome://flags/,然后设置Autoplay policy为No user gesture is required。但是当你升级到最新的85版本的时候,你会发现,连Autoplay policy这个政策都搜不到了,所以得另外想办法。

首先,我们在页面里创建一个播放器:

    <div class="margin-top-20" style="display: none;">
        <audio src="" id="audio" controls="controls" autoplay="autoplay"></audio>
    </div>

说明:

src可以设置为空,后面可以通过JQ来动态加载音频文件(我这个项目就是采用的这种方式);

也可以直接给音频文件地址,设置display为none,如果你不想看见这个音频播放器的话,因为设置了autoplay,所以打开页面会自动播放的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值