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"