--- title: SpeechRecognition.onresult slug: Web/API/SpeechRecognition/result_event tags: - API - Experimental - Property - Reference - SpeechRecognition - Web Speech API - onresult - recognition - speech translation_of: Web/API/SpeechRecognition/onresult original_slug: Web/API/SpeechRecognition/onresult ---
{{APIRef("Web Speech API")}}{{SeeCompatTable}}

{{domxref("SpeechRecognition")}}インターフェイスの onresult プロパティは、音声認識サービスが結果を返した時に、つまり正しく言葉や文法が認識でき、アプリに通信した時 ({{event("result")}}イベントが発生した時) に、実行するイベントハンドラーになります。

構文

mySpeechRecognition.onresult = function() { ... };

下記のソースコードは Speech color changer の例文から取り出しました。

recognition.onresult = function(event) {
  // SpeechRecognitionEvent プロパティーは SpeechRecognitionResultList オブジェクトを返しました。
  // SpeechRecognitionResult オブジェクトは SpeechRecognitionResultList オブジェクトにあります。
  // ゲッターがあるので、配列のように呼び出すことができます。
  // 最初の[0]は 0 の位置にある SpeechRecognitionResult を返します。
  // それぞれの結果がある SpeechRecognitionAlternative オブジェクトは各位SpeechRecognitionResult オブジェクトにあります。
  // それもゲッターがあるので、配列のように呼び出すことができます。
  // 2つ目の[0]は 0 の位置にある SpeechRecognitionAlternative を返します。
  // SpeechRecognitionAlternative オブジェクトの transcript プロパティを返します。
  var color = event.results[0][0].transcript;
  diagnostic.textContent = '結果:' + color + '.';
  bg.style.backgroundColor = color;
}

仕様

仕様 状態 コメント
{{SpecName('Web Speech API', '#dfn-onresult', 'onresult')}} {{Spec2('Web Speech API')}}

ブラウザー実装状況

{{Compat("api.SpeechRecognition.onresult")}}

Firefox OS の権限

アプリで音声認識を利用する前に、下記の権限を manifest に追加する必要があります。

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

privileged アプリ権限も必要なので、下記も追加が必要です。

  "type": "privileged"

関連情報