Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        // 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;
                    }
                }
            }
        }