c#Recognizer使用EmulateRecognizeAsync抛出InvalidOperationException

时间:2015-01-16 20:12:21

标签: c# speech-recognition invalidoperationexception

我制作了识别软件,但是当我尝试使用代码时:

_recognizer.EmulateRecognizeAsync(dev_box.Text);

它会抛出一个InvalidOperationException,表示在识别器进行识别时无法执行该操作。 _recognizer是我的SpeechRecognitionEngine,dev_box是我输入文本以进行模拟的文本框。 当我把它放入try / catch时,我可以多次点击它,它总会抛出异常。 为什么要这样做,我该如何解决?

1 个答案:

答案 0 :(得分:0)

我已经弄清楚如何解决这个问题。你必须这样做:

_recognizer.RecognizeAsyncStop();
Thread.Sleep(5);
_recognizer.EmulateRecognizeAsync(dev_box.Text);
_recognizer.RecognizeAsyncStop();
Thread.Sleep(5);
_recognizer.RecognizeAsync(RecognizeMode.Multiple);

如果有人知道更好地解决此问题,请随时留下您的答案。