Javascript webkitSpeechRecognition自动停止

Javascript webkitSpeechRecognition自动停止,javascript,google-chrome,webkit,speech-recognition,Javascript,Google Chrome,Webkit,Speech Recognition,我正在使用webkitSpeechRecognition。但当识别开始时,它会在1-2分钟的不活动后停止。我正试图在它结束后将其击退。当我执行start_transcript(language)时,它会不断生成上千个console.log(“语音识别终止”);它再也不承认了 var final_transcript = ''; var recognizing = false; var start_timestamp; if (!('webkitSpeechRecognition' in wind

我正在使用webkitSpeechRecognition。但当识别开始时,它会在1-2分钟的不活动后停止。我正试图在它结束后将其击退。当我执行start_transcript(language)时,它会不断生成上千个console.log(“语音识别终止”);它再也不承认了

var final_transcript = '';
var recognizing = false;
var start_timestamp;
if (!('webkitSpeechRecognition' in window)) {
  upgrade();
} else {
  var recognition = new webkitSpeechRecognition();
  recognition.continuous = true;
  recognition.interimResults = true;
  recognition.onstart = function() {
    recognizing = true;
  };

  recognition.onend = function() {
    console.log("voice recognition terminated");
    recognition.start();
  };

function start_transcript(language) {
  if (recognizing) {
    recognition.stop();
    return;
  }
  final_transcript = '';
  var rec_lang = 'fr-FR';
    recognition.lang = rec_lang;
  recognition.start();
}
任何帮助和建议都将不胜感激


谢谢

只是这里和那里的一些小信息。更新代码以填补缺失的空白,请在控制台中尝试此操作。另外,不要忘记调用
start\u transcript

var最终成绩单=”;
var=false;
var启动时间戳;
如果(!(窗口中的“webkitSpeechRecognition”){
升级();
}否则{
var recognition=new-webkitSpeechRecognition();
识别。连续=正确;
recognition.interimResults=true;
recognition.onstart=函数(){
识别=正确;
};
//也需要有结果
recognition.onresult=函数(e){
控制台日志(如结果);
//从结果中提取单词并在控制台中打印
var转录本=[…e.results]
.map(结果=>结果[0])
.map(result=>result.transcript)
.加入(“”);
控制台日志(抄本);
};
recognition.onend=函数(){
console.log(“语音识别终止”);
识别。开始();
};
}//我猜你也忘了关闭else块了
函数启动\转录本(){
如果(识别){
识别。停止();
返回;
}
最终成绩单=“”;
var rec_lang='fr-fr';
recognition.lang=rec_lang;
识别。开始();

}
您好,谢谢您的帮助。我尝试了你的代码,但它在无数的“语音识别终止”控制台日志中刺穿了我的应用程序。