SpeechRecognition.continuous

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

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 の定義
ドラフト

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
continuous
実験的
Chrome 完全対応 33
接頭辞付き 補足
完全対応 33
接頭辞付き 補足
接頭辞付き webkit のベンダー接頭辞が必要
補足 You'll need to serve your code through a web server for recognition to work.
Edge 完全対応 ≤79
接頭辞付き 補足
完全対応 ≤79
接頭辞付き 補足
接頭辞付き webkit のベンダー接頭辞が必要
補足 You'll need to serve your code through a web server for recognition to work.
Firefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 あり
接頭辞付き 補足
完全対応 あり
接頭辞付き 補足
接頭辞付き webkit のベンダー接頭辞が必要
補足 You'll need to serve your code through a web server for recognition to work.
Chrome Android 完全対応 あり
接頭辞付き 補足
完全対応 あり
接頭辞付き 補足
接頭辞付き webkit のベンダー接頭辞が必要
補足 You'll need to serve your code through a web server for recognition to work.
Firefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり
接頭辞付き 補足
完全対応 あり
接頭辞付き 補足
接頭辞付き webkit のベンダー接頭辞が必要
補足 You'll need to serve your code through a web server for recognition to work.

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

Firefox OS の権限

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

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

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

  "type": "privileged"

関連情報