Yep!
Pues veréis, estoy intentando hacer una chorrada de bot con Speech recognition y Text to speech, todo en C# con la API de Speach de .NET.
El tema es que si hago una aplicación de consola todo va de puta madre. Dentro del main tengo el tipico bucle para que no se me chape la aplicación y uso el SpeechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple); para escuchar, y tengo añadido el handler del SpeechRecognized. Funciona genial.
Ahora si me lo hago en una aplicación de WPF, no se si no comprendo cómo funciona por debajo WPF con el tema de hilos, pero la app no es capaz de triggerear el handler al hablar. Si hago un EmulateRecognize("test") el handler funciona y todo correcto, pero con la voz no es capaz. He probado con dos diccionarios, uno genérico, el cual con el Emulate me saca todas las palabras, y uno hecho a mano, donde el Emulate sólo funciona cuando le meto palabras que están indexadas (lógicamente). Esto último me dice que no hay problema con el Recognizer en sí, o eso creo.
Yo soy de pensar que es problema de hilos, porque el form mantendrá el suyo propio y alomejor pisa el del recognizer o algo raro... Porque usando el Main en la aplicación de consola funciona bien, así que no se, intuyo que es algo de ese tema...
Si alguien me puede echar un cable...
Código del de consola: https://pastebin.com/cwV762dT
Código del de WPF: https://pastebin.com/JXp1nTK9