我正在尝试将语音听写纳入c# Windows窗体控件,这是一个自定义文本编辑器。这是我的简单代码来实例化语音识别器。我的文本编辑器控件接受语音听写并显示听写的文本。它还能理解"向下滚动"或"向上滚动"等基本命令。
然而,它不理解很多更复杂的听写命令,如"删除比"、"选择下一个4个单词"等。所以,当我说"删除那个"时,语音监视器显示"这个命令现在不可用"。我尝试为"删除"添加语法,但这并没有改变行为,语音监视器仍然显示相同的消息,我无法在SpeechRecognized事件处理程序中捕获"删除"。有人知道需要合并哪个API或.NET接口来捕获这些命令并实现它们吗?
SpeechRecognizer sr = new SpeechRecognizer();
GrammarBuilder gb = new GrammarBuilder();
gb.AppendDictation();
// Create the Grammar instance.
Grammar g = new Grammar(gb);
sr.LoadGrammar(g); // dictation grammar already gets loaded
sr.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(OnSpeechRecognized);
应用程序需要支持TSF(文本服务框架)接口。在为TSF定义的大约101个接口中,唯一必须实现的接口是ITextStoreACP。