播放语音,支持谷歌浏览器自动播放

在谷歌浏览器中,由于安全策略限制,`autoplay`属性在`<audio>`标签上无效,导致语音无法自动播放。为解决这个问题,可以利用音频API AudioContext实现自动播放。本文介绍了一种利用百度语音合成接口,并结合AudioContext实现谷歌浏览器自动播放语音的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.最近的项目用到了语音播放的,调用的是百度语音合成语音的接口,接入后发现在谷歌浏览器会报错,其它浏览器可以正常播放。

2.通过搜索了解到在Chrome 66以上的最新浏览器中,自动播放的视频要么是静音视频,要么就是没有声音的视频,或者是用户手动点击后播放的有声视频

3.在HTML5中新增了 <video></video> <audio></audio>两个标签视频和音频,在谷歌浏览器中,这两个标签中的 "autoplay" 属性是无效的,通过控制js的play()也是无法自动播放,必须要用户自动点击播放才行.

4.解决办法:遇到需要播放音频的需求,我们不一定要使用audio标签,还可以用音频API AudioContext来帮助我们完成,以下的js便是调用百度语音并且支持自动播放的最终方法:

function speckText(str) {
    let url = 'https://tts.baidu.com/text2audio?lan=zh&ctp=1&cuid=abcd&ie=UTF-8&vol=9&per=0&spd=5&pit=5&aue=3&tex=' + encodeURI(str);
    let isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
    // var url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=" + encodeURI(str);        // baidu
    // var url = "http://translate.google.cn/tr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值