没有重载匹配delegate system.speech.recognition.speech . recognized

本文关键字:speech system recognition recognized delegate 重载 | 更新日期: 2023-09-27 18:18:53

我正在研究sapi。我做了一个简单的控制台应用程序,并尝试测试sapi。

class Program
    {
        public  void abc(SpeechRecognizedEventArgs e)
        {
            switch (e.Result.Text)
            {
                case "say hello":
                    Console.WriteLine("Hi");
                    break;
                case "my name is irfan":
                    Console.WriteLine("hello irfan!");
                    break;
            }
        }
        public static void Main(string[] args)
        {
            SpeechRecognitionEngine sREngine = new SpeechRecognitionEngine();
            Choices com = new Choices();
            com.Add(new string[] { "say hello", "my name is irfan" });
            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(com);
            Grammar gram = new Grammar(gb);
            sREngine.LoadGrammarAsync(gram);
            sREngine.SetInputToDefaultAudioDevice();
            sREngine.RecognizeAsync(RecognizeMode.Multiple);
            sREngine.SpeechRecognized += abc; //getting error over there.
        }
    }

我在调用函数abc时出错。错误是:

"no overload匹配delegate system.speech.recognition. "speechRecognizedEventargs "

我做错了什么?

没有重载匹配delegate system.speech.recognition.speech . recognized

处理程序签名错误。应该是:

public void abc(object sender, SpeechRecognizedEventArgs e)