首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Webkit之间插入文本的讲话

在Webkit之间插入文本的讲话
EN

Stack Overflow用户
提问于 2017-03-20 11:17:22
回答 1查看 67关注 0票数 0

我已经创建了一种形式,其中的问题将自动填充,答案将通过语音捕捉。我试过使用JS webkit库,但它没有正常工作,语音也没有被识别。它提取以前的语音文本,并继续添加到新生成的字符串,但在时间上,它的工作良好。如果有人正在捕捉语音并将其转换为文本,请告诉我。任何帮助都将不胜感激。

下面的代码-

代码语言:javascript
复制
var recognition = new webkitSpeechRecognition();
recognition.lang = "en-IN";
// recognition.lang = "hi-IN";
function startTextToSpeech(){
var recognizing = false;
var ignore_onend;
var start_timestamp;
recognition.continuous = true;
recognition.interimResults = true;
var interim_text = document.getElementById('Mytext')
var final_text = document.getElementById('final_span')
var textExtracted = "";
var final_transcript = '';
recognition.onstart = function() {
    recognizing = true;
  };


recognition.onerror = function(event) {
  console.log("some error ouccured");
  console.log(event)
  recognition.stop();
  try{
      recognition.start();
    }catch(ex){
      console.log(ex)
    }
   if (event.error == 'no-speech') {   
      ignore_onend = true;
    }
    if (event.error == 'audio-capture') {
      ignore_onend = true;
    }
    if (event.error == 'not-allowed') {
      ignore_onend = true;
    }
  };

   recognition.onend = function() {
    console.log("ended")
    // recognizing = false;
    // recognition.start();
    // //switchApi();
    // if (ignore_onend) {
    //   $("#toggleStart").text("Start");
    //   $("#listenStatus").text("Speak something to convert it to text");     
    //   //clearInterval(StartAnalyzing);

    //   return;
    // }
    recognition.stop();
    try{
      recognition.start();
    }catch(ex){
      console.log(ex)
    }

    // if (window.getSelection) {
    //  recognition.start();
    //  switchApi();
    //   window.getSelection().removeAllRanges();
    //   var range = document.createRange();
    //   range.selectNode(document.getElementById('final_span'));
    //   window.getSelection().addRange(range);
    // }
  };

recognition.onresult = function(event) { 

  var interim_transcript = '';
    if (typeof(event.results) == 'undefined') {
      recognition.onend = null;
      //recognition.stop();
      return;
    }

    for (var i = event.resultIndex; i < event.results.length; ++i) {
      if (event.results[i].isFinal) {
        final_transcript += event.results[i][0].transcript;
      } else {
        interim_transcript += event.results[i][0].transcript;
      }
    }
    final_text.innerHTML = final_transcript;
    interim_text.innerHTML = interim_transcript;
    textExtracted = final_transcript+interim_transcript;
}
recognition.start();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 11:25:24

您的代码没有错误,它应该在最新版本的chrome或opera中工作,但不确定Firefox、IE和Safari,只需尝试更新浏览器以确定您正在做什么。

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

https://stackoverflow.com/questions/42902212

复制
相关文章

相似问题

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