JS中的语音识别——Speech Recognition API

简介

HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。

语音识别使用SpeechRecognition API,目前只有Chrome支持,使用时要加上webkit前缀。

  • 创建SpeechRecognition的新实例
var recognition = new webkitSpeechRecognition();
  • 设置是持续听还是听到声音之后就关闭接收。
recognition.continuous = true;
  • 设置是否允许临时结果,临时结果是识别的中间过程,这时候返回结果的isFinal = false。
recognition.interimResults = true;
  • 设置语言
recognition.lang = 'cmn-Hans-CN'; //普通话 (中国大陆)
  • 控制语音识别的开启和停止,可使用start()和stop()方法,分别对应onstart、onend事件
// 开启
recognition.start();
// 停止
recognition.stop();
  • 对识别到的结果进行处理,可以使用一些事件方法,比方说onresult:
recognition.onresult = function(event) { 
    console.log(event);
}

event返回结果格式

{
    results: {
        0: {
                0: {
                    confidence: 0.695017397403717,
                    transcript: "你好,世界"
                },
                isFinal:true,
                length:1
        },
        length:1
    },
}
  • 错误处理
recognition.onerror = function(event) { 
    console.log(event);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容