一段时间后,Web语音API在没有输入的情况下停止侦听

Rus*_* C. 7 google-chrome webspeech-api webkitspeechrecognition

我正在使用网络语音API但是一旦经过一段时间(一分钟或两分钟)而没有任何声音输入,它就会完全停止听.我知道这是因为我把它的解析后的文本记录到控制台,然而,当我不说话一两分钟时它会停止这样做.

有没有什么办法解决这一问题?

rus*_*ssa 6

您可以收听end事件,然后重新启动SpeechRecognition对象的识别.

您应该使用布尔标志来决定(在onend事件处理程序中)何时重新启动识别(以及何时不重启).

您可以使用其他与识别相关的事件.

例如,Chrome在启动识别时触发以下事件处理程序:

1. onstart
2. onaudiostart

   (only if sound / speech is detected)
3. onsoundstart
4. onspeechstart
Run Code Online (Sandbox Code Playgroud)

如果没有检测到声音语音,则仅触发前2个,然后在一些超时后,触发相应的end事件(以相反的顺序).