簡(jiǎn)介
HTML5中和Web Speech相關(guān)的API實(shí)際上有兩類,一類是“語(yǔ)音識(shí)別(Speech Recognition)”,另外一個(gè)就是“語(yǔ)音合成(Speech Synthesis)”,這兩個(gè)名詞聽(tīng)上去很高大上,實(shí)際上指的分別是“語(yǔ)音轉(zhuǎn)文字”,和“文字變語(yǔ)音”。
語(yǔ)音識(shí)別使用SpeechRecognition API,目前只有Chrome支持,使用時(shí)要加上webkit前綴。
- 創(chuàng)建SpeechRecognition的新實(shí)例
var recognition = new webkitSpeechRecognition();
- 設(shè)置是持續(xù)聽(tīng)還是聽(tīng)到聲音之后就關(guān)閉接收。
recognition.continuous = true;
- 設(shè)置是否允許臨時(shí)結(jié)果,臨時(shí)結(jié)果是識(shí)別的中間過(guò)程,這時(shí)候返回結(jié)果的isFinal = false。
recognition.interimResults = true;
- 設(shè)置語(yǔ)言
recognition.lang = 'cmn-Hans-CN'; //普通話 (中國(guó)大陸)
- 控制語(yǔ)音識(shí)別的開(kāi)啟和停止,可使用start()和stop()方法,分別對(duì)應(yīng)onstart、onend事件
// 開(kāi)啟
recognition.start();
// 停止
recognition.stop();
- 對(duì)識(shí)別到的結(jié)果進(jìn)行處理,可以使用一些事件方法,比方說(shuō)onresult:
recognition.onresult = function(event) {
console.log(event);
}
event返回結(jié)果格式
{
results: {
0: {
0: {
confidence: 0.695017397403717,
transcript: "你好,世界"
},
isFinal:true,
length:1
},
length:1
},
}
- 錯(cuò)誤處理
recognition.onerror = function(event) {
console.log(event);
}