首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webkitSpeechRecognition自动停止

webkitSpeechRecognition自动停止
EN

Stack Overflow用户
提问于 2019-11-24 09:13:11
回答 1查看 398关注 0票数 0

我正在使用webkitSpeechRecognition。但当识别开始时,它会在1-2分钟不活动后停止。我正试着在它结束后再把它烧回去。当我执行start_transcript(语言)时,它一直在产生一千个console.log(“语音识别终止”);并且它不再识别。

代码语言:javascript
复制
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();
}

任何帮助和建议都将非常感谢。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-11-24 17:30:14

只是一些小小的遗漏。更新了您的代码,填补了那些缺失的空白,请在您的控制台中尝试此操作。另外,别忘了调用start_transcript

代码语言:javascript
复制
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:我也做了一个类似的项目,参考了卫斯博斯的javascript30,并将其与webpack混合在一起。如果你想参考它,请访问https://github.com/Mondal10/personal-voice-assistant

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59013813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档