vue使用Web Speech API实现语音播报

SpeechSynthesisUtterance对象用于表示要播放的语音内容,SpeechSynthesis对象则用于控制语音的播放、暂停、停止等操作。

const synth = window.speechSynthesis
const msg = new SpeechSynthesisUtterance()
// 语音播放
const playVoice = (text) => {
  synth.cancel()
  msg.text = text
  msg.lang = "zh-CN"
  msg.volume = 1
  msg.rate = 1
  msg.pitch = 1
  msg.onend = () => {
    // 语音播放结束调用的方法,可以在里面写一些逻辑
  }
  synth.speak(msg)
}
// 停止播放
const stopVoice = (e) => {
  msg.text = e
  msg.lang = "zh-CN"
  synth.cancel(msg)
}

问题点:

       不兼容chrome。

解决方法:

       先调用下window.speechSynthesis.cancel()方法。

参考文献:

webspeech api - speechSynthesis.speak not working in chrome - Stack Overflow

javascript - SpeechSynthesis - Onend 在语音结束前触发 - IT工具网

        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值