使用谷歌浏览器的语音播报功能时发现不能播放

使用谷歌浏览器的语音播报功能时发现不能播放

<script>
		if(!('speechSynthesis' in window)) {
			throw alert("对不起,您的浏览器不支持")
		}
		setTimeout(()=> {
			play()
		},2000)
		
		function play(){
			var mess = '搜狗[1]  是搜狐公司的旗下子公司,于2004年8月3日推出,目的是增强搜狐网的搜索技能,主要经营搜狐公司的搜索业务。在搜索业务的同时,也推出搜狗输入法、搜狗高速浏览器。'

			var msg = new SpeechSynthesisUtterance(mess)
			 
			msg.volume = 100  // 声音的音量
			 
			msg.rate = 1 // 语速,数值,默认值是1,范围是0.1到10
			 
			msg.pitch = 1.5 // 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1
			 
			speechSynthesis.speak(msg)
		}

	</script>

打开控制台发现

audio.html:43 [Deprecation] speechSynthesis.speak() without user activation is no longer allowed since M71, around December 2018. See https://www.chromestatus.com/feature/5687444770914304 for more details

这是由于谷歌浏览器针对垃圾广告和诈骗网页的滥用谷歌浏览器开发团队已经决定自下个版本开始限制语音合成接口的自动播放。自新版本开始用户必须手动点击播放按钮才能播放语音合成内容,用户不主动操作那么直接禁止音频的播放。
解决办法在鼠标右击Chrome快捷图标=>属性=>快捷方式=>目标加入–autoplay-policy=no-user-gesture-required即可,如下图所示:
LA0M(1AP6V$L4I29Z{ML1.png

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值