SpeechRecognition.continuous

Experimental

これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

SpeechRecognition インターフェイスの continuous プロパティは、認識が行われるたびに、継続的に結果を返すのか、あるいは1つの結果のみ返すのかを制御するようになります。

既定では1つの結果です (false)

構文

var myContinuous = mySpeechRecognition.continuous;
mySpeechRecognition.continuous = true;

現在の SpeechRecognition の継続の状態を表す Boolean 型。true の場合は継続的で、false の場合は1つのみの返しです。

下記のソースコードは Speech color changer を参考しています

var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;'
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
//recognition.continuous = false;
recognition.lang = 'ja-JP';
recognition.interimResults = false;
recognition.maxAlternatives = 1;

...

注意: 現在 continuous は Gecko で実装されておらず、いつも1つを返します。今のところ、継続的な返しをエミュレートするには、下記のソースコードのように何か返す結果が取れた時に、SpeechRecognition.start() を実行します。

recognition.onresult = function(event) {
    ...
  recognition.start();
}

仕様

仕様 状態 コメント
Web Speech API
continuous の定義
ドラフト

ブラウザー実装状況

BCD tables only load in the browser

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

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

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

  "type": "privileged"

関連情報