public static void Execute(string cmd) // método estático { DateTime time = DateTime.Now; switch (cmd) { case "que horas sao": // fala as horas if (time.Hour <= 12 && time.Hour > 5) { Speaker.Speak("são " + time.Hour.ToString() + " horas da manhã e " + time.Minute.ToString() + " minutos"); } else if (time.Hour > 12 && time.Hour < 18) { int h = time.Hour - 12; Speaker.Speak("são " + h.ToString() + " horas da tarde e " + time.Minute.ToString() + " minutos"); } else if (time.Hour > 18 && time.Hour < 24) { int h = time.Hour - 12; Speaker.Speak("são " + h + " horas da noite e " + time.Minute.ToString() + "minutos"); } else { //Speaker.Speak("são " + time.Hour.ToString() + " horas " + time.Minute.ToString() + " minutos"); Speaker.Speak(time.Hour.ToString() + " hora e " + time.Minute.ToString() + " minutos"); } break; case "data de hoje": Speaker.Speak(DateTime.Now.ToShortDateString()); break; case "que dia e hoje": Speaker.Speak(DateTime.Today.ToString("dddd")); break; case "em que mes estamos": // vamos usar switch para pegar o nome do mes string month = ""; int n = time.Month; switch (n) { case 1: month = "janeiro"; break; case 2: month = "fevereiro"; break; case 3: month = "março"; break; case 4: month = "abril"; break; case 5: month = "maio"; break; case 6: month = "junho"; break; case 7: month = "julho"; break; case 8: month = "agosto"; break; case 9: month = "setembro"; break; case 10: month = "outubro"; break; case 11: month = "novembro"; break; case 12: month = "dezembro"; break; } Speaker.Speak("estamos no mês de " + month); break; case "em que ano estamos": Speaker.Speak(DateTime.Today.ToString("yyyy")); break; // SpeechSynthesizer case "pare de falar": Speaker.StopSpeak(); // para de falar break; case "alterar voz": SelectVoz voice = new SelectVoz(); voice.Show(); break; // media player case "media player": if (mediaPlayer != null) { mediaPlayer.Show(); Speaker.Speak("abrindo media player"); } else { mediaPlayer = new MediaPlayer(); mediaPlayer.Show(); Speaker.Speak("abrindo media player"); } break; case "selecionar arquivo": if (mediaPlayer != null) { Speaker.Speak("Selecione um arquivo"); mediaPlayer.Show(); mediaPlayer.OpenFile(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "pausar": if (mediaPlayer != null) { mediaPlayer.Pause(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "continuar": if (mediaPlayer != null) { mediaPlayer.Play(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "parar": if (mediaPlayer != null) { mediaPlayer.Stop(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "fechar media player": if (mediaPlayer != null) { mediaPlayer.Close(); mediaPlayer = null; Speaker.Speak("fechando o media player"); } else { Speaker.Speak("media player já esta fechado"); } break; case "abrir diretorio para reproduzir": if (mediaPlayer != null) { mediaPlayer.OpenDirectory(); mediaPlayer.Show(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "proximo": if (mediaPlayer != null) { mediaPlayer.NextFile(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "anterior": if (mediaPlayer != null) { mediaPlayer.BackFile(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "aumentar volume": if (mediaPlayer != null) { mediaPlayer.VolumeUp(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "diminuir volume": if (mediaPlayer != null) { mediaPlayer.VolumeDown(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "mudo": if (mediaPlayer != null) { mediaPlayer.Mute(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "voltar som": if (mediaPlayer != null) { mediaPlayer.UnMute(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "media player em tela cheia": if (mediaPlayer != null) { mediaPlayer.FullScreen(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "media player em tamanho normal": if (mediaPlayer != null) { mediaPlayer.NotFullScreen(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "que arquivo esta tocando": if (mediaPlayer != null) { mediaPlayer.SayFileThatIsPlaying(); } else { Speaker.Speak("media player, não está aberto!"); // diz algo } break; case "bloco de notas": if (notepad != null) { notepad.Show(); Speaker.Speak("Abrindo bloco de notas"); } else { notepad = new Notepad(); notepad.Show(); Speaker.Speak("Abrindo bloco de notas"); } break; case "salvar texto": if (notepad != null) { Speaker.Speak("Insira o nome do arquivo"); notepad.SaveFile(); } else { Speaker.Speak("Bloco de notas não esta aberto"); } break; case "trocar fonte": if (notepad != null) { Speaker.Speak("Abrindo configurações de fonte"); notepad.OpenFont(); } else { Speaker.Speak("Bloco de notas não esta aberto"); } break; case "fechar bloco de notas": if (notepad != null) { notepad.Close(); notepad = null; Speaker.Speak("Fechando bloco de notas"); } else { Speaker.Speak("Bloco de notas já esta fechado"); } break; // -------------- Comandos ------------------ /* case "adicionar novo comando": * if (addNewCommand == null) * { * addNewCommand = new AddNewCommand(); * addNewCommand.Show(); * } * else * { * Speaker.Speak("certo, vou abrir"); * addNewCommand.Show(); * } * break; */ case "detalhes dos processos": ActionProcess.ProcessesRunning(); // chama o método break; case "se apresente ritsu": RITSUHelp.Introduction(); break; case "lista de processos": if (processList == null) { processList = new ProcessList(); processList.Show(); } else { processList.Show(); } break; case "fechar o processo selecionado": if (processList != null) { processList.CloseSelectedProcess(); } break; // informações do sistema case "em quanto estar o uso do processador?": Speaker.Speak("o uso do processador estar em " + Math.Round(PCStats.GetCPUUsage(), 2).ToString() + " porcento"); break; case "quanta memoria ram estar sendo usada?": Speaker.Speak("estão sendo usados " + ((int)PCStats.GetTotalMemory() - PCStats.GetFreeMemory()).ToString() + " megas baites de memória ram"); break; case "quanta mamoria ram ainda ha livre?": Speaker.Speak("há " + (int)PCStats.GetFreeMemory() + " megas baites de memória ram livres"); break; case "quanta memoria ram ha no total?": Speaker.Speak("há " + (int)PCStats.GetTotalMemory() + " megas baites de memória ram no total"); break; case "desligar computador": s_Commands.ShutdownComputer(); break; case "reiniciar computador": s_Commands.RestartComputer(); break; case "cancelar desligamento": s_Commands.CancelShutdown(); break; case "cancelar reinicialização": s_Commands.CancelShutdown(); break; //Softwares //----Word---- case "abrir word": ActionSoftwares.WordOpen(); break; case "word novo documento": ActionSoftwares.WordNew(); break; case "word salvar documento": ActionSoftwares.WordSave(); break; case "word fechar": ActionSoftwares.WordClose(); break; case "word recortar": ActionSoftwares.WordCut(); break; case "word copiar": ActionSoftwares.WordCopy(); break; case "word colar": ActionSoftwares.WordPaste(); break; case "word selecionar tudo": ActionSoftwares.WordAll(); break; case "word negrito": ActionSoftwares.WordBolt(); break; case "word itálico": ActionSoftwares.WordItalic(); break; case "word sublinhado": ActionSoftwares.WordUnderline(); break; case "word centralizar": ActionSoftwares.WordCenter(); break; case "word desfazer": ActionSoftwares.WordUndo(); break; case "word refazer": ActionSoftwares.WordRedo(); break; //Lista de comandos case "lista de comandos": HelpCommands ajuda = new HelpCommands(); ajuda.Show(); break; //Email case "ver email": ApplicationEmail email = new ApplicationEmail(); email.ShowDialog(); break; //Apresentação TCC case "fale com o publico": Apresentacao.FinalShow(); break; } }
// Metodo chamado quando algo é reconhecido private void rec(object s, SpeechRecognizedEventArgs e) { string speech = e.Result.Text; //string que reconhece voz float conf = e.Result.Confidence; //float que recebe confianca //logs string date = DateTime.Now.Day.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Year.ToString(); //definir data do arquivo string log_filename = "log\\" + date + ".txt"; //nome do arquivo StreamWriter sw = File.AppendText(log_filename); if (File.Exists(log_filename)) { sw.WriteLine(speech); } else { sw.WriteLine(speech); } sw.Close(); //end logs if (conf > 0.5f) { //this.label1.BackColor = Color.DarkGray; //mudar cor do background quando reconhecido this.label1.ForeColor = Color.LawnGreen; //mudar cor da fonte quando reconhecido lbl_rec.Text = "User: "******"Te vejo mais tarde", "Vejo você depois", "OK"); isRitsuListening = false; } else if (GrammarRules.JarvisStartListening.Any(x => x == speech)) { isRitsuListening = true; Speak("Ola, estou de volta!", "Estou aqui", "Bem vindo"); } if (isRitsuListening == true) //so ira executar os comandos de fala se ele estiver ouvindo { switch (e.Result.Grammar.Name) { case "sys": if (GrammarRules.MaximizeWindow.Any(x => x == speech)) { MaximizeWindow(); } else if (GrammarRules.MinimizeWindow.Any(x => x == speech)) { MinimizeWindow(); } else if (GrammarRules.NormalWindow.Any(x => x == speech)) { NormalWindow(); } else if (GrammarRules.CloseWindow.Any(x => x == speech)) { CloseWindow(); } break; case "Process": ActionProcess.OpenOrClose(speech); break; case "Commands": Commands.Execute(speech); break; case "calc": if (conf >= 0.6) { Speak(Calculation.calcSolve(speech)); } break; case "Arduino": ComandsArduino.Iniciar(speech); break; default: Speaker.Speak(AIML.GetOutputChat(speech)); //pega resposta break; } } } }