C# 如何通过语音识别打开我的电脑

C# 如何通过语音识别打开我的电脑,c#,user-controls,speech-recognition,windows-forms-designer,speech-synthesis,C#,User Controls,Speech Recognition,Windows Forms Designer,Speech Synthesis,我需要编写一个使用语音识别引擎的应用程序,关闭应用程序的目的是控制PC(键盘和鼠标),当用户说“打开我的电脑”打开我的电脑,或说任何事情来执行该操作时,我已经尝试了很多时间,但仍停留在两者之间, 我的代码是 { SpeechRecognizer recognizer = new SpeechRecognizer(); recognizer.Enabled = true; Choices folderPath= ne

我需要编写一个使用语音识别引擎的应用程序,关闭应用程序的目的是控制PC(键盘和鼠标),当用户说“打开我的电脑”打开我的电脑,或说任何事情来执行该操作时,我已经尝试了很多时间,但仍停留在两者之间,
我的代码是

       {         
        SpeechRecognizer recognizer = new SpeechRecognizer();
        recognizer.Enabled = true;

        Choices folderPath= new Choices();
        folderPath.Add(new string[] { "My Computer", "My Documents", "my docs", "Sumeet", "gehi"});

        GrammarBuilder gb = new GrammarBuilder(folderPath);

        Grammar gramer = new Grammar(gb);
        recognizer.LoadGrammar(gramer);

        gramerSpeechRecognized+=new EventHandler<SpeechRecognizedEventArgs (gramer_SpeechRecognized);
    }
    void gramer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {

        if (e.Result.Text == "computer" || e.Result.Text=="my computer")
        {
           string myComputerPath = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
        System.Diagnostics.Process.Start("explorer", myComputerPath);
      //OR
        //System.Diagnostics.Process.Start("explorer", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
        }
        else
        {
           // give output what user have said
          textBox1.Text = e.Result.Text;
         }
    }
{
SpeechRecognizer recognizer=新的SpeechRecognizer();
recognizer.Enabled=true;
Choices folderPath=新选项();
添加(新字符串[]{“我的电脑”、“我的文档”、“我的文档”、“Sumeet”、“gehi”});
GrammarBuilder gb=新的GrammarBuilder(folderPath);
语法gramer=新语法(gb);
识别器。加载语法(gramer);

gramerspeechrecogned+=neweventhandler是的,我现在已经完成了这项工作

  string resultText = e.Result.Text.ToLower();
      if (resultText == "computer")
        {
          string myComputerPath = 
            Environment.GetFolderPath(Environment.SpecialFolder.MyComputer); 
          System.Diagnostics.Process.Start("explorer", myComputerPath);
        //System.Diagnostics.Process.Start("explorer", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
       }
但若你们仍然发现答案比这更好,请在这里发表评论
thanx guys

什么不起作用?放置一个断点,然后调试。调试器是否达到gramer_SpeechRecognited函数?e.Tesult.Text值是多少?同时-在比较之前将e.Result.Text转换为小写。我也尝试过,如果有,我的程序没有比较condition@sarae.result.text具有字符串值我们说话,就像我说我的电脑然后e.result.text=“我的电脑”,我希望如果它比较单词/短语,然后打开我的电脑,但不工作