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