c#语音识别禁用语法

本文关键字:语法 语音识别 | 更新日期: 2023-09-27 18:06:26

我想在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;

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

c#语音识别禁用语法

Grammar对象有一个可以直接操作的Enabled属性。但是,您可能还需要在更新语法后同步识别器。

:

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