SpeechRecognitionResult.isFinal

Experimental: 这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

SpeechRecognitionResult 接口的isFinal只读属性是一个布尔值, 如果值是true, 则表示这是最后一次返回的结果 (语音识别结束)。如果为false, 表示识别尚未结束, 这只是一个临时的数据, 有可能会在稍后更新。

语法

var myIsFinal = speechRecognitionResultInstance.isFinal;

返回值

Boolean (en-US) 

示例

recognition.onresult = function(event) {
  // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList object
  // SpeechRecognitionResultList 对象包含 SpeechRecognitionResult 对象.
  // 它有一个getter,所以它可以像数组一样被访问
  // 第一个[0]返回 SpeechRecognitionResult 的第0个下标.
  // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.
  // 这些也有getter,因此可以像数组一样访问它们。
  // 第二个[0]返回 SpeechRecognitionAlternative 所在的第0个下标。
  // 然后我们返回的记录属性 SpeechRecognitionAlternative 对象
  var color = event.results[0][0].transcript;
  diagnostic.textContent = 'Result received: ' + color + '.';
  bg.style.backgroundColor = color;

  console.log(event.results[0].isFinal);
}

规格

规格 状态 说明
Web Speech API
isFinal
Draft  

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 33 [1] 44 (44) [2] 未实现 未实现 未实现
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support ? (Yes)[1] ? 2.5 未实现 未实现 未实现
  • [1] 语音识别接口目前是Chrome的前缀, 所以你需要对接口进行添加适当的前缀, 比如, webkitSpeechRecognition; 同时, 你还需要一个来Web服务器来为代码 (API) 服务, 以便识别工作.
  • [2] 可以通过 about:config(注意, 不同的浏览器会有不同的配置, 比如 chrome 中是 about:flag ) 中 media.webspeech.recognition.enable 标记来启动, 尽管目前的语音识别功能在桌面版 Firefox 浏览器中无法使用 — 一旦解决了所需的内部权限, 它将很快被正确地暴露出来。

Firefox OS 权限

要在应用程序中使用语音识别,您需要在您的清单中指定以下权限:

"permissions": {
  "audio-capture" : {
    "description" : "Audio capture"
  },
  "speech-recognition" : {
    "description" : "Speech recognition"
  }
}

你还需要一个有特权的应用程序,所以你也需要把它包含在内:

  "type": "privileged"

相关链接