【发布时间】:2017-08-28 09:02:36
【问题描述】:
我正在开发一个小型语音命令程序,我想让它在收到特定命令时要求确认...例如“嘿,计算机,关闭程序”,然后是口头问题“你确定吗? "然后回复我的口头回答;是还是不是。我对 c# 还很陌生,找不到任何相关的东西。以下代码是我已经配置的语音命令示例:
private void recEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
switch (e.Result.Text)
{
case "hey computer, start spotify":
synthesizer.SelectVoiceByHints(VoiceGender.Female);
synthesizer.SpeakAsync("starting SPOTteFY");
string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string extentionToPath = "Spotify\\Spotify.exe";
string finalPath = Path.Combine(appDataPath, extentionToPath);
Process.Start(finalPath);
//Process.Start("C:\\Users\\Danny\\AppData\\Roaming\\Spotify\\Spotify.exe");
break;
case "hey computer, start chrome":
synthesizer.SelectVoiceByHints(VoiceGender.Female);
synthesizer.SpeakAsync("Starting Chrome");
Process.Start("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
break;
case "hey computer, new tab":
SendKeys.Send("^t");
break;
case "hey computer, close program":
synthesizer.SelectVoiceByHints(VoiceGender.Female);
synthesizer.SpeakAsync("Closing program");
SendKeys.Send("%{F4}");
break;
case "next song please":
keybd_event(VK_MEDIA_NEXT_TRACK, 0, KEYEVENTF_EXTENTEDKEY, IntPtr.Zero);
break;
case "stop song please":
keybd_event(VK_MEDIA_PLAY_PAUSE, 0, KEYEVENTF_EXTENTEDKEY, IntPtr.Zero);
break;
case "hey computer, start netflix":
synthesizer.SelectVoiceByHints(VoiceGender.Female);
synthesizer.SpeakAsync("Starting Netflix");
System.Diagnostics.Process.Start("https://www.netflix.com/browse");
break;
case "hey computer, pause netflix":
SendKeys.Send(" ");
break;
case "hey computer, start reddit":
synthesizer.SelectVoiceByHints(VoiceGender.Female);
synthesizer.SpeakAsync("Starting reddit");
System.Diagnostics.Process.Start("https://www.reddit.com");
break;
case "hey computer, show me the news":
synthesizer.SelectVoiceByHints(VoiceGender.Female);
synthesizer.SpeakAsync("Showing you what's going on");
System.Diagnostics.Process.Start("http://nu.nl");
break;
case "hey computer, hide yourself":
this.WindowState = FormWindowState.Minimized;
break;
}
}
【问题讨论】:
标签: c# command voice speech confirmation