0
我正在嘗試使用HTML5網絡語音API的語音識別。網絡語音識別代碼不抄錄語音
我不明白爲什麼這段代碼不起作用。它觸發了請求訪問麥克風的權限,但是當我說話時什麼都不會被轉錄。
當我查看控制檯時,沒有錯誤,但會觸發語音識別停止時發生的console.log。
我認爲它提前停止。
有誰知道發生了什麼,爲什麼它不工作?
這裏是JS:
這取決於webspeech.js,其中包括在的jsfiddle。
這裏是JS小提琴:http://jsfiddle.net/2sMXZ/3/
下面是實現代碼:
var reco = new WebSpeechRecognition;
$('#mic').click(function(){
$(this).toggleClass('red');
reco.toggleStartStop();
});
var interim_transcript = '';
reco.recognition.onresult = function(event){
for(var i = event.resultIndex; i<event.results.length; ++i){
if(event.results[i].isFinal) reco.stop();
else interim_transcript += event.results[i][0].transcript;
}
}
$('#interim_span').html(interim_transcript);
console.log(interim_transcript);
reco.recognition.onend = function(e){
//$('#mic').removeClass('red');
console.log('done');
}
非常感謝你。我在這裏嘗試:http://jsfiddle.net/2sMXZ/11/ interim_transcript在控制檯上記錄在結尾或甚至點擊'#mic',但它沒有被寫入到interim_span的html中。任何想法爲什麼?或者我可以如何解決它? – gomangomango
final_span和interim_span是結果的子項。我認爲他們被reco.statusText(「results」)取代; – emeth
謝謝,現在它寫入跨度,但它重複。我怎麼才能讓它只寫一次講話,就在講完之後? http://jsfiddle.net/2sMXZ/14/ – gomangomango