0

我正在尝试将语音听写合并到作为自定义文本编辑器的 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);
4

1 回答 1

0

应用程序需要支持 TSF(文本服务框架)接口。在为 TSF 定义的大约 101 个接口中,唯一需要实现的强制接口是 ITextStoreACP。这使应用程序能够感知 TSF。

于 2015-08-17T20:47:44.947 回答