JavaScript离线语音播报
1、 大部分公司这样做的:”前端程序猿去想吧,一定要弄出来,这个功能很重要!” 是不是有一万只那啥在心里飞? 没关系!其实有方法!

3、 这些是一些常用的方法: onstart– 语音合成开始时候的回调。 onpause– 语音合成暂停时候的回调。 onresume– 语音合成重新开始时候的回调。 onend– 语音合成结束时候的回调。(这个很重要,我们可以根据结束去播放下一条) 接下来是speechSynthesis对象,主要作用是触发行为,例如读,停,还原等: speak()– 只能接收SpeechSynthesisUtterance作为唯一的参数,作用是读合成的话语。 stop()– 立即终止合成过程。 pause()– 暂停合成过程。 resume()– 重新开始合成过程。 getVoices– 此方法不接受任何参数,用来返回浏览器支持的语音包列表,是个数组
4、 谷歌使用方法就介绍到这里,如果大家需要更详细的讲解那就只能查一下API了,接下来介绍一下IE的方法:,接下来介绍一下IE的方法: voiceObj =newActiveXObject("Sapi.SpVoice"); //这个建议放到全局变量中否则可文本没有阅读完就销毁了,语音只能阅读几个字! voiceObj.Speak("Hello world", 1); //第一个参数为文本,第二个参数决定异步还是同步,1是异步,2是同步。 对!就这两句就可以阅读了,可以在IE试一试!(在谷歌中会报错,所以用的时候需要写好兼容!) IE中我没找到阅读完的回调,但是发现一个Status.RunningState,在阅读的时候是2,暂停是1,刚阅读结束时3,所以我们可以用这个去完成结束后事件!

6、 代码贴上来总踩雷,也不知道那个词有问题,我给你大家发知乎上我发表的这篇经验,直接上去粘贴代码就行,真心不是故意的! 链接:https://zhuanlan.zhihu.com/p/41179191
