webkitSpeechRecognition自动停止

问题描述 投票:0回答:1

我正在使用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();
}

任何帮助和建议将不胜感激。

谢谢

javascript google-chrome webkit speech-recognition
1个回答
0
投票

在这里和那里只是一些小小的失踪。通过填补那些遗漏的空白来更新代码,请在控制台中尝试。另外,请不要忘记拨打start_transcript

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;
  };

  // need to have result as well 
  recognition.onresult = function(e) {
    console.log(e.results);

    // Extracting the words from the result and printing in the console 
    var transcript = [...e.results]
      .map(result => result[0])
      .map(result => result.transcript)
      .join('');
    console.log(transcript);
  };

  recognition.onend = function() {
    console.log("voice recognition terminated");
    recognition.start();
  };
} // I guess you forgot closing the else block as well

function start_transcript() {
  if (recognizing) {
    recognition.stop();
    return;
  }
  final_transcript = '';
  var rec_lang = 'fr-FR';
  recognition.lang = rec_lang;
  recognition.start();
}

PS:另外,我通过引用Wesbos的javascript30并将其与webpack混合,进行了类似的项目。如果您想参考它,请访问https://github.com/Mondal10/personal-voice-assistant

© www.soinside.com 2019 - 2024. All rights reserved.