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 ? 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 ?

凡例

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

Firefox OS の権限

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

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

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

  "type": "privileged"

関連情報