记一次语音播报功能

浏览器本身就可以读文字

写功能前一直以为该功能得调用第三方平台的API才可以文字合成语音后用音频播放,原来HTML5已经支持了该功能(TTS)了

SpeechSynthesis 和 SpeechSynthesisUtterance

SpeechSynthesis
SpeechSynthesisUtterance

let speechInstance = new SpeechSynthesisUtterance(text);//创建一个SpeechSynthesisUtterance对象
speechSynthesis.speak(speechInstance);//必须传入SpeechSynthesisUtterance对象

当然我们也可以通过设置不同语言进行播报,前提是当前系统有该语言的语音包。

const voices = speechSynthesis.getVoices();//获取语言包列表

实际拿语音包列表是需要时间的,一开始直接使用可能列表为空,此时可以这样

function getVoices() {
  return new Promise((resolve, reject) => {
    let timer;
    timer = setInterval(() => {
      if (speechSynthesis.getVoices().length !== 0) {
        resolve(speechSynthesis.getVoices());
        clearInterval(timer);
      }
    }, 10);
  })
}
let voices = await getVoices()

如果你念的文字超过80个字,Google 的语音包会断掉,所以使用过程中最好顾虑掉

voices = voices.filter(v => v.name.indexOf('Google') === -1)

然后选择你想要的语言包,例如中文

let lang = 'zh-CN'
speechInstance.voice = voices.find(v => v.lang === lang)

当然我们还可以设置其他,如:语速、音量、音调等,具体请看文档

这里可能有个坑,在用 Chrome 的時候,rate不要超过2,否则会直接恢复成默认值1

speechInstance.rate = .5 //这里可以调节语速

好了,剩下我们就直接调用播放就可以了,但是需要特别说一下,有些阉割版的window可能无法播放,如部分win7系统就是,此时确认语言包存在且谷歌版本是支持 speechSynthesis 还无法出声音,如果对内使用就升级系统版本,对外使用那就考虑第三方的TTS功能了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网吧语音服务大师V7.0升级录: 1、重点升级: 完全变更了数据库运行方式,之前是随着程序一起启动,这样会与其它安装有MYSQL的程序冲突,导致数据无法启动。自V7.0版开始,数据库加载为系统服务,完全与程序实现分离,不会再与其它程序冲突,例如在PUBWIN收费机上同时可以自由安装。同时实现分离后,程序运行速度大大提升,稳定性也更好。 2、重点升级: V7.0版程序实现静态编译,相比之前各版本,程序兼容性更好,更为精简,甩掉了一大堆支持库文件,更为重要的是不会再被杀毒误杀,或误报毒。 3、对歌曲管理进行了升级,新增独立管理窗口,方便查看和管理,同时增加管理自动播放歌曲的功能,可以自由设置允许哪些歌曲可以自动播放,也可以实时对自动播放的歌曲进行变换,增加对歌曲点播排行等功能。 4、升级了歌曲录入功能,升级不会再出现时间为00:00的情况,也不会出现卡死与报错及录入不进等情况,同时录入歌曲速度大大提升。 5、自动播放增加了连续自动播放和间隔自动播放的选择功能。(连续自动播放是指自动播放时如果无人点歌将一首接一首连续播放,间隔自动播放是指根据用户设定的时间每隔这一时间播放一首。) 6、呼叫主服务端增加了新功能一次呼叫主服务端是播报一次还是播报两次的选项。 7、主服务端呼叫和点歌的音量增加了保存功能。 8、修正了双击商品行进行修改时,显示类别总为饮料的BUG。 9、调整了主服务端界面的功能,部分实现简化和功能分离,原来修改和录入歌曲的功能完全移走。启动时不再以最小化方式运行到系统栏,而是直接显示。 10、客户端呼叫程序界面调整和优化,不再以之前方法显示。同时修正了呼叫后关掉程序重新打开,在限定时间内仍然可以呼叫的BUG。 11、客户显示网吧欢迎词从原来的10个字调整为可以输入和显示15个字。 12、V7.0版程序为独立安装包,直接运行安装包,就完成了程序的所有设置,直接运行使用,安装完成后,客户端和次服务端程序也自动完成IP及连接参数等配置,到安装目录下把客户端和次服务端程序复制到相应的客户机就可以了,非常方便!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值