Teclado por Voz configurable

Iniciado por rigorvzla, 12 Diciembre 2017, 18:36 PM

0 Miembros y 1 Visitante están viendo este tema.

rigorvzla

hola nuevamente amigos, de antemano le sidre que resolvi el problema de 7z y comprimir directorio espero me digan si es posible hacer un post referente a eso con la respuetsa al problema.

Dejando de lado el punto anterio, se me presento una idea que no se como plantear y espero puedan ayudarme.

hice un boton a primera instancia para mostrar una letra "H" esto fue simbolico, luego de crear los objetos de recognizer y sintesis, cree un "string letraH" y "string speech"

cargue de manera normal
escucha.SpeechRecognized += Escucha_SpeechRecognized;
aqui procure crear el switch con la finalidad de meter la poblie orden que colocaria en un textbox
private void Escucha_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            speech = e.Result.Text;
            switch (speech)
            {
                case textBox:
                    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_H);
                    break;
            }           

        }


luego cree el textBox para poder escribir la palabra y a mi parecer darle valor al "string letraH"

private void textBox_TextChanged(object sender, TextChangedEventArgs e)
        {           
            letraH = txtH.Text;
        }


aqui crei que todo iria bien , pero me dio error en
case textBox:
ya que al parecer solo acepta una entrada de texto y no string "texto";

trate de usar el try/catch y resulto que detectaba cualquier sonido y ejecutaba el comando, mas no se regia por lo que yo anotara en el textBox (que es lo que quiero lograr) y este me lo capte el switch
case letraH

si alguien puede explicarme como debo hacer le estaria muy agradecido ya que desconozco de herramientas.

rigorvzla

bueno amigos , les dire con mucha alegria que lo eh resuelto por mis propios medios, sigo abierto a nuevas ideas para seguir aprendiendo, ahora pensando la situacion es como hacer ahora para que deje guardado todos los datos ya introducidos para la proxima vez que se abra. si tienen alguna idea seria maravilloso  ;-)

termine usando el codigo "if" y logica humana diciendo que "si" el resultado de speech era igual al de la letraA correr el comando y en efecto resulto  :xD . si noto que es algo lento en el tiempo de respuesta y reaccion si hay alguna idea seria magnifico

Eleкtro

#2
Cita de: rigorvzla en 12 Diciembre 2017, 18:36 PM
hola nuevamente amigos, de antemano le sidre que resolvi el problema de 7z y comprimir directorio espero me digan si es posible hacer un post referente a eso con la respuetsa al problema.

Mírate los temas con chincheta...:

ese sería un buen lugar para compartir un código reutilizable en C#. De todas formas si prefieres publicar un thread individual para compartir un código, puedes hacerlo.




Cita de: rigorvzla en 12 Diciembre 2017, 18:36 PM
Código (csharp) [Seleccionar]
           speech = e.Result.Text;
           switch (speech)
           {
               case textBox:
                  // ...
           }        
 

¿Estás intentando comparar una variable de tipo String con una instancia de tipo TextBox?... el conflicto de tipos se explica por si solo.

Sigues empeñado en querer subir escalones de dificultad para acabar resbalándote en problemas básicos, en vez de dejar todo eso a un lado y ponerte a leer y a practicar lo básico del lenguaje hasta llegar a comprenderlo de forma básica hasta que puedas responderte a esta pregunta por ti mismo: "¿por qué motivo da error el código, y cual es la solución?".

...El modo que has tenido de solucionar este problema ha sido reemplazar un switch por un if, probando cosas al azahar a ver que cuela. Con un switch habrías conseguido el mismo resultado.




Cita de: rigorvzla en 12 Diciembre 2017, 19:31 PMcomo hacer ahora para que deje guardado todos los datos ya introducidos para la proxima vez que se abra.

.NET Framework provee una infraestructura para administrar propiedades para tu aplicación (la configuración de tu programa en general) a nivel de aplicación o nivel de usuario, y la IDE de Visual Studio provee un sistema guiado "user-friendly" para facilitar todos los aspectos de dicha infraestructura a través de la pestaña de propiedades de tu proyecto...


...el código autogenerado de cada propiedad por defecto se establece en la clase "...\Properties\Settings.Designer.cs".

PD: si tienes pensado "guardar datos para restaurarlos en el próximo inicio de la aplicación" entonces también deberías estudiar algo sobre la serialización de datos/tipos, y su implementación.

Saludos.








rigorvzla

Muuchas gracias, ya empece a leer respecto al Settings del proyecto, me podrias decir como se hubiera logrado usando el switch quiero saber que hice mal para q no resultara.

Eleкtro

Cita de: rigorvzla en 13 Diciembre 2017, 15:41 PM
Muuchas gracias, ya empece a leer respecto al Settings del proyecto, me podrias decir como se hubiera logrado usando el switch quiero saber que hice mal para q no resultara.

...Para eso primero habría que entender lo que querías hacer en ese código. En el switch de tu código por lo que parece probablemente lo que querías comparar era la propiedad TextBox.Text.

Saludos