9

Web Speech API を使用していますが、音声入力がない状態で少し時間が経過すると (1 ~ 2 分)、完全に聞こえなくなります。解析されたテキストをコンソールに記録するようにしているので、これはわかっていますが、1、2 分話さないと、これを停止します。

これを修正する方法はありますか?

4

3 に答える 3

8

イベントをリッスンしてから、オブジェクトendの認識を再開できます。SpeechRecognition

onend認識を再開するタイミング (および再開しないタイミング)を決定する (イベント ハンドラーで) には、ブール型フラグを使用する必要があります。

これには、他の認識関連のイベントを使用できます。

たとえば、認識が開始されると、Chrome は次のイベント ハンドラーをトリガーします。

1. onstart
2. onaudiostart

   (only if sound / speech is detected)
3. onsoundstart
4. onspeechstart

音声が検出されない場合は、最初の 2 つのイベントのみがトリガーされ、タイムアウトの後、対応するendイベントが (逆の順序で) トリガーされます。

于 2017-01-09T12:32:12.277 に答える
0

recognition.addEventListener('end', () => recognition.start())動作しますが、Chrome ブラウザは、 5 ~ 7 秒ごとにマイクを許可またはブロックするポップアップを生成することで、継続性を妨げているようです。

于 2021-05-05T11:35:59.993 に答える