我正在使用微软的语音识别器开发一个小型练习应用程序。我似乎无法让它快速识别单个单词,而不是我正在做的事情。我希望能够正常说话,系统将从我所说的内容中获取“关键字”并生成一个字符串。目前我使用的是5个单词的自定义语法。红色,蓝色,黄色,绿色,橙色。例如,如果我说红蓝黄色。引擎将抓住“红色”,其余的进入虚空。
我尝试过使用以下内容:
sr.RecognizeAsync(RecognizeMode.Single)
然后在AudioState更改为“已停止”后将其重置为单一模式。这还不足以赶上下一个词。想法?
答案 0 :(得分:6)
您是否尝试过PauseRecognizerOnRecognition。我看起来这个函数会在处理上一个音频时缓冲你的音频输入。
从MSDN链接上方:
当PauseRecognizerOnRecognition为true时,执行期间 SpeechRecognized处理程序语音识别服务暂停和 在到达时缓冲新的音频输入。一旦SpeechRecognized事件 处理程序退出,语音识别服务恢复识别和 开始处理来自其输入缓冲区的信息。