2

我用它webkitSpeechRecognition()来创建我自己的小录音机。

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

说一个句子和
1a.) 如果文本正确,点击“添加句子”按钮
1b.) 如果文本不正确,点击“再说一遍”按钮

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

有任何想法吗?

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

4

1 回答 1

3

您从索引 0 开始获取 events.result 数据。您需要for使用名为event.resultIndex.

resultIndex 属性:resultIndex 必须设置为已更改的“结果”数组中的最低索引。[来源]

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

小提琴演示

于 2015-04-07T06:31:24.390 回答