【发布时间】:2015-10-22 04:15:00
【问题描述】:
我正在研究 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 时遇到错误。错误是:
"没有重载匹配委托 system.speech.recognition.speechRecognizedEventargs"
我做错了什么?
【问题讨论】:
-
顺便说一句,您可以在SpeechTurtle.codeplex.com 找到有用的代码
-
旁注:如果您使用 Visual Studio,当您在 += 之后单击选项卡时,它会自动为您生成委托。 (此评论是垃圾邮件/广告,因为我为生产 VS 的公司工作,使用该功能时请使用您的最佳判断 :))。