C#语音识别禁用语法

时间:2014-06-03 22:14:37

标签: c# speech-recognition speech-to-text

我试图在C#中使用多个语法进行语音识别,我想在某些情况下禁用它们。

我的问题是,如果我禁用它们没有任何更改,这里是我的代码的一部分:

recognizer.LoadGrammar(g_init);
recognizer.LoadGrammar(g_menu);
recognizer.LoadGrammar(g_timer);
recognizer.LoadGrammar(g_say);

recognizer.Grammars[recognizer.Grammars.IndexOf(g_menu)].Enabled = false;
recognizer.Grammars[recognizer.Grammars.IndexOf(g_timer)].Enabled = false;
recognizer.Grammars[recognizer.Grammars.IndexOf(g_say)].Enabled = false;

这里我想禁用init语法并启用菜单语法

recognizer.Grammars[recognizer.Grammars.IndexOf(g_init)].Enabled = false;
recognizer.Grammars[recognizer.Grammars.IndexOf(g_menu)].Enabled = true;

我想知道如何禁用语法并在稍后阶段启用它们

1 个答案:

答案 0 :(得分:1)

Grammar个对象具有Enabled属性,您可以直接操作。但是,更新语法后,您可能还需要synchronize the recognizer

所以:

g_init.Enabled = false;
recognizer.RequestRecognizerUpdate();