Web Speech API を使用していますが、音声入力がない状態で少し時間が経過すると (1 ~ 2 分)、完全に聞こえなくなります。解析されたテキストをコンソールに記録するようにしているので、これはわかっていますが、1、2 分話さないと、これを停止します。
これを修正する方法はありますか?
Web Speech API を使用していますが、音声入力がない状態で少し時間が経過すると (1 ~ 2 分)、完全に聞こえなくなります。解析されたテキストをコンソールに記録するようにしているので、これはわかっていますが、1、2 分話さないと、これを停止します。
これを修正する方法はありますか?
イベントをリッスンしてから、オブジェクトend
の認識を再開できます。SpeechRecognition
onend
認識を再開するタイミング (および再開しないタイミング)を決定する (イベント ハンドラーで) には、ブール型フラグを使用する必要があります。
これには、他の認識関連のイベントを使用できます。
たとえば、認識が開始されると、Chrome は次のイベント ハンドラーをトリガーします。
1. onstart
2. onaudiostart
(only if sound / speech is detected)
3. onsoundstart
4. onspeechstart
音声が検出されない場合は、最初の 2 つのイベントのみがトリガーされ、タイムアウトの後、対応するend
イベントが (逆の順序で) トリガーされます。
recognition.addEventListener('end', () => recognition.start())
動作しますが、Chrome ブラウザは、 5 ~ 7 秒ごとにマイクを許可またはブロックするポップアップを生成することで、継続性を妨げているようです。