我正在尝试将语音听写合并到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);
答案 0 :(得分:0)
应用程序需要支持TSF(Text Services Framework)接口。在为TSF定义的大约101个接口中,唯一要实现的强制接口是ITextStoreACP。这使得应用程序可以识别TSF。