Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript W3C语音到文本:说话时输出值_Javascript_Google Chrome_Web_Speech To Text - Fatal编程技术网

Javascript W3C语音到文本:说话时输出值

Javascript W3C语音到文本:说话时输出值,javascript,google-chrome,web,speech-to-text,Javascript,Google Chrome,Web,Speech To Text,我一直在我的应用程序中使用用于web的。我希望这些词在我说话时开始出现。这是因为我希望用户对他们所说的当前单词有近乎即时的反馈。目前,spec中的result事件在大约一秒钟不说话后等待附加整个数组 我查看了标准,但我只发现它需要等待一段时间才能从结果事件构建最终结果列表: 5.1.3演讲识别活动 结果事件:语音识别器返回结果时激发 5.1.8演讲认可活动 结果属性:此会话的所有当前识别结果的数组 我还尝试在onstart和onpause方法中检索结果: recognit

我一直在我的应用程序中使用用于web的。我希望这些词在我说话时开始出现。这是因为我希望用户对他们所说的当前单词有近乎即时的反馈。目前,spec中的
result
事件在大约一秒钟不说话后等待附加整个数组

我查看了标准,但我只发现它需要等待一段时间才能从结果事件构建最终结果列表:

5.1.3演讲识别活动

结果事件:语音识别器返回结果时激发

5.1.8演讲认可活动

结果属性:此会话的所有当前识别结果的数组

我还尝试在
onstart
onpause
方法中检索结果:

            recognition = new webkitSpeechRecognition()

            recognition.onstart = function (event) {
                //append word
            };

            recognition.onpause = function (event) {
                //append word
            };
有人知道一种方法可以在你说话的时候实现单词的“打字”效果吗


另一个问题是,如果用户停止讲话一秒钟,结果列表被编译(即,
result事件
被触发),并且他们再次发言,结果列表不会更新


即使我设置了
recognition.continuous=true,也会发生这种情况

是从谷歌开发者那里找到的

除了
recognition.continuous=true
,您还需要
recognition.interimResults=true

然后需要在
onresult
处理程序中稍微修改逻辑,以说明临时结果:

recognition.onresult = function (event) {
  var final = "";
  var interim = "";
  for (var i = 0; i < event.results.length; ++i) {
    if (event.results[i].final) {
      final += event.results[i][0].transcript;
    } else {
      interim += event.results[i][0].transcript;
    }
  }
  final_span.innerHTML = final;
  interim_span.innerHTML = interim;
}
recognition.onresult=函数(事件){
var final=“”;
var中期=”;
对于(变量i=0;i