//Máximizar janela private void normalWindow() { if (this.WindowState == FormWindowState.Minimized) { this.WindowState = FormWindowState.Normal; Speaker.Speak("Máximizando a janela", "Abrindo a janela", "Estou de volta"); } else { Speaker.Speak("Já estou máximizado", "Estou aqui senhor"); } }
//Minimizar janela private void MinimizerWindow() { if (this.WindowState == FormWindowState.Normal || this.WindowState == FormWindowState.Maximized) { this.WindowState = FormWindowState.Minimized; Speaker.Speak("Minimizando a janela", "Okay", "Como quiser", "Como quiser, até mais"); } else { Speaker.Speak("Já está minimizada", "Já estou minimizada", "Já fechei a janela"); } }
private void Form1_Load(object sender, EventArgs e) { LoadSpeech(); Speaker.Speak("Já carreguei os arquivos"); }
private void LoadSpeech() { try { engine = new SpeechRecognitionEngine(); //Instancia engine.SetInputToDefaultAudioDevice(); //microfone Choices cNumbers = new Choices(); for (int i = 0; i <= 100; i++) { cNumbers.Add(i.ToString()); } Choices c_commandosOfSystem = new Choices(); c_commandosOfSystem.Add(GrammarRules.WhatTimeIs.ToArray()); // Adicioando WhatsTimeIs da classe GrammarRules c_commandosOfSystem.Add(GrammarRules.whatDateIs.ToArray()); // WhatDateIs da classe GrammarRules c_commandosOfSystem.Add(GrammarRules.JarvisStartListening.ToArray()); c_commandosOfSystem.Add(GrammarRules.JarvisStopListening.ToArray()); c_commandosOfSystem.Add(GrammarRules.MinimizeWindow.ToArray()); // minimizar janela c_commandosOfSystem.Add(GrammarRules.normalWindow.ToArray()); //Máximizar janela c_commandosOfSystem.Add(GrammarRules.conversaWindows.ToArray()); //Conversa c_commandosOfSystem.Add(GrammarRules.conversa2Windows.ToArray()); //apresentação c_commandosOfSystem.Add(GrammarRules.conversa3Windows.ToArray()); c_commandosOfSystem.Add(GrammarRules.conversa4Windows.ToArray()); c_commandosOfSystem.Add(GrammarRules.ChanceVoice.ToArray()); //Mudar voz do sistema //Comando "pare de ouvir" == Jarvis GrammarBuilder gb_comandsOfSystem = new GrammarBuilder(); gb_comandsOfSystem.Append(c_commandosOfSystem); Grammar g_commandsOfSystem = new Grammar(gb_comandsOfSystem); g_commandsOfSystem.Name = "sys"; //Ajuda identificar em qual grámatica foi chamado o comando GrammarBuilder gbNumber = new GrammarBuilder(); gbNumber.Append(cNumbers); // 5 vezes gbNumber.Append(new Choices("vezes", "mais", "menos", "por")); gbNumber.Append(cNumbers); Grammar gNumbers = new Grammar(gbNumber); gNumbers.Name = "calc"; engine.LoadGrammar(g_commandsOfSystem); //carregar a gramática //carregar a gramática // engine.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(words)))); engine.SpeechRecognized += new EventHandler <SpeechRecognizedEventArgs>(rec); //nivel do aúdio engine.AudioLevelUpdated += new EventHandler <AudioLevelUpdatedEventArgs>(audioLevel); engine.SpeechRecognitionRejected += new EventHandler <SpeechRecognitionRejectedEventArgs>(rej); engine.RecognizeAsync(RecognizeMode.Multiple); //Iniciar o reconhecimento Speaker.Speak("Estou carregando os arquivos "); } catch (Exception ex) { MessageBox.Show("Ocorreu um erro", ex.ToString()); } }
//Metodo que é chamado qunado al é reconhecido private void rec(object s, SpeechRecognizedEventArgs e) { string speech = e.Result.Text; // String reconhecida float conf = e.Result.Confidence; string date = DateTime.Now.Day.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Year.ToString(); string log_filename = "log//" + date + ".txt"; StreamWriter sw = File.AppendText(log_filename); if (File.Exists(log_filename)) { sw.WriteLine(speech); } else { sw.WriteLine(speech); } sw.Close(); if (conf > 0.80f) { this.label1.ForeColor = Color.Black; if (GrammarRules.JarvisStopListening.Any(x => x == speech)) { isJarvisListening = false; Runner.JarvisStopListening(); } else if (GrammarRules.JarvisStartListening.Any(x => x == speech)) { isJarvisListening = true; Runner.JarvisStartListening(); } if (isJarvisListening == true) { switch (e.Result.Grammar.Name) { case "sys": //Se o speech == "que horas são , etec" classe = "GrammarRules" if (GrammarRules.WhatTimeIs.Any(x => x == speech)) { Runner.whaTimeIs(); } else if (GrammarRules.whatDateIs.Any(XmlReadMode => XmlReadMode == speech)) { Runner.whatDateIs(); } else if (GrammarRules.MinimizeWindow.Any(x => x == speech)) { MinimizerWindow(); } else if (GrammarRules.normalWindow.Any(x => x == speech)) { normalWindow(); } else if (GrammarRules.conversaWindows.Any(x => x == speech)) { Runner.conversaWindows(); } else if (GrammarRules.conversa2Windows.Any(x => x == speech)) { Runner.conversa2Windows(); } else if (GrammarRules.conversa3Windows.Any(x => x == speech)) { Runner.conversa3Windows(); } else if (GrammarRules.conversa4Windows.Any(x => x == speech)) { Runner.conversa4Windows(); } else if (GrammarRules.ChanceVoice.Any(x => x == speech)) { if (selectVoice == null || selectVoice.IsDisposed == true) { selectVoice = new SelecVoz(); } selectVoice.Show(); } break; case "calc": Speaker.Speak(CalcSolver.Solve(speech)); break; } } } }
public static void conversa3Windows() { Speaker.Speak("Meu nome é TV, se você ser mal educada eu não vou deixar você assistir Youtube, para você ser minha amiga, você tem que obdecer sua mãe, seu pai e seus irmãos. Quando você não ser educada, eu não deixo você assistir.".ToString()); }
public static void conversa4Windows() { Speaker.Speak("Olá nicoly, você é muito legal, você deve assitir desenhos, pepa pig, raposel, branca de neve.".ToString()); }
public static void conversa2Windows() { Speaker.Speak("Meu nome é JARVIS, sou sua assistente virtual, estou aqui para te ajudar".ToString()); }
public static void conversaWindows() { Speaker.Speak("Estou bem e você ? Como você está".ToString()); }
public static void JarvisStartListening() { Speaker.Speak("Olá, diego no que eu posso ajudar".ToString()); }
public static void JarvisStopListening() { Speaker.Speak("Até mais tarde, quando precisar é so chamar".ToString()); }
public static void whatDateIs() { Speaker.Speak(DateTime.Now.ToShortDateString()); }