我的C#语音识别代码遇到了一个有趣的问题。我以前有过这个代码工作,但我将它迁移到另一个项目,它只是不工作。我必须遗漏一些东西,因为没有关于语音识别的错误或警告,我确实有语音参考。这是主要功能:
static void Main(string[] args)
{
Program prgm = new Program();
string[] argument = prgm.readConfigFile();
if(argument[2].ToLower().Contains("true"))
{
recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
recognizer.LoadGrammar(new DictationGrammar());
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);
}
prgm._con.updateConsole(argument, prgm._list);
}
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
与识别器一起使用:
recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
我确实在我的代码顶部添加了使用System.Speech。当我开始讲话时,事件处理程序应该启动,但它永远不会被命中(使用断点检查)。我做错了什么?