This repository was archived by the owner on Apr 23, 2021. It is now read-only.

Description
If you take the code as-is, but change continuous = false, the recognizer occasionally gets wedged and never ends.
I test on Chrome 30 on OSX 10.8.5 and 31.0.1650.48 on OSX 10.8.5.
What usually happens: It fires onresult events while you speak. When you stop speaking, it fires speechend audioend and soundend. It then does onresult with one result, multiple interpretations. Finally, it does end. The microphone input stops correctly.
However, this happens occasionally if you are speaking, get onresult events with some final result, and pause briefly but continue speaking, and then stop: You get an onresult event with your whole utterance. speechend audioend and soundend DON'T fire prior to onresult. (onresult is called with one final result and one interim result.) The mic button is still flashing. If you press it, it calls recognizer.stop BUT NOTHING HAPPENS. No end events. So you're screwed. It also stops responding to new mic input.