我正在尝试将语音听写合并到作为自定义文本编辑器的 C# Windows 窗体控件中。这是我实例化 SpeechRecoginizer 的简单代码。我的文本编辑器控件正在接受语音听写并显示听写的文本。它还可以理解“向下滚动”或“向上滚动”等基本命令。
但是,它不能理解很多更复杂的听写命令,例如“删除比”、“选择接下来的 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);