C# 如何通过语音识别打开我的电脑
我需要编写一个使用语音识别引擎的应用程序,关闭应用程序的目的是控制PC(键盘和鼠标),当用户说“打开我的电脑”打开我的电脑,或说任何事情来执行该操作时,我已经尝试了很多时间,但仍停留在两者之间,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
我的代码是
{
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=“我的电脑”,我希望如果它比较单词/短语,然后打开我的电脑,但不工作