Ejemplo n.º 1
0
 private void pictureBox2_Click(object sender, EventArgs e)
 {
     if (Application.OpenForms.OfType <AdicionarComandos>().Count() > 0)
     {
         Assistente.Fala("O painel de comandos já esta aberto");
         adicionarComandos.Focus();
     }
     else
     {
         adicionarComandos = new AdicionarComandos();
         adicionarComandos.Show();
     }
 }
Ejemplo n.º 2
0
        // metodo que é chamado quando algo é reconhecido
        public void rec(object s, SpeechRecognizedEventArgs e)
        {
            // resultado do audio
            // MessageBox.Show(e.Result.Text);
            string speech = e.Result.Text;             // mostrar palavra reconhecida
            int    Num    = rnd.Next(1, 10);
            String QEvent;
            float  conf = e.Result.Confidence;



            string date         = DateTime.Now.Day.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Year.ToString(); // nomeando o arquivo com dia mes e ano
            string log_filename = "log\\" + date + ".txt";                                                                                // cria um arquivo .txt

            StreamWriter sw = File.AppendText(log_filename);

            if (File.Exists(log_filename))            // se o arquivo ja existir
            {
                sw.WriteLine(speech);                 // criar nova linha com o comando falado no log
            }
            else
            {
                sw.WriteLine(speech);
            }
            sw.Close();


            if (conf > 0.4)                     // se a confiança for maior que 0.65f
            {
                this.label1.ForeColor = Color.LawnGreen;
                this.label1.Text      = "Você Falou: " + speech;            // mostra na label1 o texto reconhecido

                if (e.Result.Text.Equals("pesquisar"))
                {
                    QEvent = speech;
                    Assistente.Fala("o que deseja pesquisar");
                    speech = string.Empty;
                }
                if (Gramaticas.mobparedeouvir.Any(x => x == speech))                 // se falar um dos comandos para parar de ouvir
                {
                    mobestaouvindo = false;
                    Assistente.Fala("ok, quando quiser falar comigo basta me chamar", "certo, ficarei aqui quieto");
                }
                else if (Gramaticas.mobvolteaouvir.Any(x => x == speech))                 // se falar um dos comandos para voltar a ouvir
                {
                    mobestaouvindo = true;
                    Assistente.Fala("ok, estou te ouvindo");
                }
                if (mobestaouvindo == true)
                {
                    switch (e.Result.Grammar.Name)                     // alterner entre as gramaticas de comandos
                    ///////////////////////////////////
                    // verificando comandos
                    //////////////////////////////////

                    {
                    case "sistema":                                                                                                                   // caso o comando esteja nos comandos de sistema

                        if (Gramaticas.perguntarhoras.Any(X => X == speech))                                                                          // se a pergunta estiver dentro da gramatica de sistema
                        {
                            carregar.perguntarhoras();                                                                                                // execultar o commando de perguntar as horas
                        }
                        else if (Gramaticas.ContarPiada.Any(X => X == speech))                                                                        // se a pergunta estiver dentro da gramatica de sistema
                        {
                            System.Diagnostics.Process.Start(@"E:\programação\mob assistente\mob\visualstudio\mob\mob\bin\Debug\scripts\Piadas.vbs"); // execultar o commando de perguntar data
                        }
                        else if (Gramaticas.perguntardata.Any(X => X == speech))                                                                      // se a pergunta estiver dentro da gramatica de sistema
                        {
                            carregar.perguntardata();                                                                                                 // execultar o commando de perguntar data
                        }
                        else if (Gramaticas.minimizarmob.Any(X => X == speech))                                                                       // se a pergunta estiver dentro da gramatica de sistema
                        {
                            MinimizarAssistente();                                                                                                    // execultar o commando para minimizar assistente
                        }
                        else if (Gramaticas.maximizarmob.Any(X => X == speech))                                                                       // se a pergunta estiver dentro da gramatica de sistema
                        {
                            maximizarassistente();                                                                                                    // execultar o commando para maximizar assistente
                        }
                        else if (Gramaticas.mudarvoz.Any(X => X == speech))                                                                           // se a pergunta estiver dentro da gramatica de sistema
                        {
                            if (selecionarVoz == null || selecionarVoz.IsDisposed == true)
                            {
                                selecionarVoz = new SelecionarVoz();                                         // execultar o commando para alterar a voz
                            }
                            selecionarVoz.Show();
                        }
                        else if (Gramaticas.AdcionarNovoComando.Any(X => X == speech))                                 // se a pergunta estiver dentro da gramatica de sistema
                        {
                            if (Application.OpenForms.OfType <AdicionarComandos>().Count() > 0)
                            {
                                Assistente.Fala("O painel de comandos já esta aberto");
                                adicionarComandos.Focus();
                            }
                            else
                            {
                                Assistente.Fala("abrindo painel de comandos");
                                adicionarComandos = new AdicionarComandos();
                                adicionarComandos.Show();
                            }
                            //adicionarComandos = new AdicionarComandos();
                            //Assistente.Fala("abrindo painel de comandos");
                            //adicionarComandos.Show(); // execultar o commando para mostrar o painel de comandos
                        }
                        else if (Gramaticas.abrirprograma.Any(X => X == speech)) // se a pergunta estiver dentro da gramatica de sistema
                        {
                            switch (speech)                                      // caso eu fale
                            {
                            case "Abrir Navegador":
                                navegador = new Navegador();
                                Assistente.Fala("abrindo", "abrindo mob explore");
                                navegador.Show();
                                break;

                            case "Navegador":
                                navegador = new Navegador();
                                Assistente.Fala("abrindo", "abrindo navegador");
                                navegador.Show();
                                break;

                            case "Abrir Media Player":
                                mediaPlayer = new MediaPlayer();
                                Assistente.Fala("abrindo", "mob player esta aberto");
                                mediaPlayer.Show();
                                break;

                            case "Media Player":
                                mediaPlayer = new MediaPlayer();
                                Assistente.Fala("abrindo", "abrindo mob player");
                                mediaPlayer.Show();
                                break;
                            }
                        }
                        else if (Gramaticas.ComandosPersonalizados.Any(X => X == speech)) // se a pergunta estiver dentro da gramatica de sistema
                        {
                            switch (speech)                                               // caso eu fale
                            {
                            case "atualizar comandos":
                                Assistente.Fala("Aguarde, avisarei quando eu terminar de atualizar");
                                LoadSpeech();
                                Assistente.Fala("Os comandos forão atualizados");
                                break;
                            }
                        }
                        else if (Gramaticas.Teclado.Any(X => X == speech))      // se a pergunta estiver dentro da gramatica de sistema
                        {
                            switch (speech)                                     // caso eu fale
                            {
                            case "Leia o texto":
                                InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C);
                                Lertexto.Leitura();
                                break;

                            case "copiar":
                                InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C);
                                break;

                            case "colar":
                                SimularTeclas.Colar();
                                break;
                            }
                        }
                        else if (Gramaticas.Traducao.Any(X => X == speech))     // se a pergunta estiver dentro da gramatica de sistema
                        {
                            switch (speech)                                     // caso eu fale
                            {
                            case "Traduza o texto":
                                Traducao.Traduzido();
                                break;

                            case "Leia o texto em portugues":
                                Traducao.Traduzido();
                                break;
                            }
                        }
                        else if (Gramaticas.feixarprograma.Any(X => X == speech)) // se a pergunta estiver dentro da gramatica de sistema
                        {
                            switch (speech)                                       // caso eu fale
                            {
                            case "Feixar Navegador":
                                navegador.Close();
                                Assistente.Fala("feixando", "feixando mob explore");
                                break;

                            case "Feixar Media Player":
                                mediaPlayer.Close();
                                Assistente.Fala("feixando", "feixando mob player");
                                break;

                            case "Feixar Painel de Comandos":
                                Assistente.Fala("feixando painel de comandos");
                                adicionarComandos.Close();
                                break;
                            }
                        }

                        else if (Gramaticas.ComandosMediaPlayer.Any(x => x == speech))
                        {
                            switch (speech)
                            {
                            case "Abrir Arquivo":
                                if (mediaPlayer != null)
                                {
                                    mediaPlayer.AbrirArquivo();
                                    Assistente.Fala("Selecione um arquivo");
                                }
                                else
                                {
                                    Assistente.Fala("o media player não esta aberto");
                                }
                                break;
                            }
                        }
                        else if (Gramaticas.Digitar.Any(x => x == speech))
                        {
                            switch (speech)
                            {
                            case "digitar":

                                break;
                            }
                        }
                        break;

                    case "calculos":
                        Assistente.Fala("é " + resolvercalculos.Resolver(speech), "muito fáciu. " + resolvercalculos.Resolver(speech), "essa é fáciu. " + resolvercalculos.Resolver(speech));
                        break;

                    case "Personalizados":                             // caso Personalizados
                        string comando = e.Result.Text;
                        comando = comando.Trim();
                        foreach (KeyValuePair <string, string> entry in dictCmdPersonalizados)
                        {
                            if (entry.Key == comando)
                            {
                                Assistente.Fala(entry.Value);
                            }
                        }
                        foreach (KeyValuePair <string, string> entry in dictCmdSites)
                        {
                            if (entry.Key == comando)
                            {
                                Assistente.Fala(entry.Value);
                            }
                        }
                        break;

                    default:                                         // caso padrão
                        Assistente.Fala(AIML.GetOutputChat(speech)); // pegar resposta
                        break;
                    }
                }
            }
            else
            {
                this.label1.ForeColor = Color.Red;
            }
        }