目录

JShtml5前端合成语音播报

JS/html5前端合成语音(播报)

要在前端实现语音合成,即将文字讲述出来,一开始考虑用百度语音合成的方法,后来发现html5 本身就支持语音合成。就直接用html5的咯,百度的那个还有调用次数限制,配置还麻烦

HTML5中相关的API实际上有两类,一类是 语音识别 Speech Recognition ,另外一个就是 语音合成 Speech Synthesis ,指的是“ 语音转文字 ”,和“ 文字变语音 ”。

一、语音转文字

var newRecognition = webkitSpeechRecognition();
newRecognition.continuous = true;

newRecognition.start();// 控制语音识别的开始

newRecognition.stop();// 停止

newRecognition.onresult = function(event) { 
    console.log(event);//识别结果
}

二、文字转语音

仅需2句,或者也可以合成一句

var utterThis = new window.SpeechSynthesisUtterance('张三扫码成功!');
window.speechSynthesis.speak(utterThis); //这样就会有个美女姐姐语音朗读 张三扫码成功

https://i-blog.csdnimg.cn/blog_migrate/d9c92991ba1324344d596ff7a6c3ed03.png#pic_center

SpeechSynthesisUtterance和speechSynthesis,是语音合成Speech Synthesis API的核心;SpeechSynthesisUtterance对象,主要用来构建语音合成实例,例如上面的实例对象utterThis。我们可以直接在构建的时候就把要读的文字内容写进去就好了

兼容性

语音识别:

https://i-blog.csdnimg.cn/blog_migrate/8320f62aff7586bf13c1e452b6c72a4d.png#pic_center

语音合成/播报 的兼容性好多了

https://i-blog.csdnimg.cn/blog_migrate/be9cda41b3e7806d7e833a5c0496d9dd.png#pic_center win10的系统基本都是可以的(别问我怎么知道的)

如果没有声音,就是没有安装或配置TTS引擎。