我正在尝试使用几种语法在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;我想知道如何禁用语法并在以后阶段启用它们
发布于 2014-06-04 11:36:35
Grammar对象有一个可以直接操作的Enabled属性。但是,您可能还需要在更新语法后执行synchronize the recognizer。
所以:
g_init.Enabled = false;
recognizer.RequestRecognizerUpdate();https://stackoverflow.com/questions/24025872
复制相似问题