网络语音API-再次讲话(重置句子)

Web Speech API - Speak again (reset sentence)

本文关键字:句子 语音 API- 网络      更新时间:2023-09-26

我使用webkitSpeechRecognition()创建自己的小型录音机。

这是一个演示(仅适用于chrome!
http://jsfiddle.net/gsu4aod2/

说出一句话并
1a)如果文本正确,请单击"添加句子"按钮
1b.)如果文本不正确,请单击"再次发言"按钮

我的问题是我不知道如何"重置"文本。当我使用stop()start()方法时,文本会被删除,但我必须一次又一次地确认对麦克风的访问。

有什么想法吗?

网络语音API规范https://www.google.com/intl/en/chrome/demos/speech.html

您正在获取从索引0开始的events.result数据。您需要使用event.resultIndex来启动for循环。

resultIndex属性:resultIndex必须设置为最低索引在已更改的"results"数组中。[来源]

recognition.onresult = function (event) {
    //console.log(event);
      var final = "";
      var interim = "";
      for (var i = event.resultIndex; i < event.results.length; ++i) {
        if (event.results[i].final) {
          final += event.results[i][0].transcript;
        } else {
          interim += event.results[i][0].transcript;
        }
      }

Fiddle演示