none
Seleccion desde Foreach en SpeechRecognitionEngine RRS feed

  • Pregunta

  • Hola amigos les traigo una inquietud y es que no se como realizar un foreach en SpeechRecognitionEngine ya que quiero obtener todos los microfonos(dispositivos de captura) del ordenador y reflejarlos en un comboBox, una vez esto, poder seleccionarlo y que la entrada de sonido cambie a ese microfono elegido , espero puedan ayudarme.

    ejemplo

     private void CargaMicro()
            {
                ManagementObjectSearcher mo = new ManagementObjectSearcher("select * from Win32_SoundDevice");
    
                foreach (ManagementObject soundDevice in mo.Get())
                {
                    //Console.WriteLine(soundDevice.GetPropertyValue("DeviceId"));
                    //Console.WriteLine(soundDevice.GetPropertyValue("Manufacturer"));
                    mic.Items.Add(soundDevice.GetPropertyValue("Name"));               
                }
                //MMDeviceEnumerator names = new MMDeviceEnumerator();
                //var devices = names.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active);
                //foreach (var device in devices)
                //{
                //    mic.Items.Add(device.FriendlyName);
                //}
            }

    eh usado estos dos metodos pero no consigo que al seleccionar el dispositivo funcione, me dijeron hacer antes un Disposed, y luego cargar de nuevo  el

    SetInputToDefaultAudioDevice

    pero no se como hacerlo.

    antes de ese codigo cargo este

    private void ActivarEscucha()
            {
                escucha.SetInputToDefaultAudioDevice();
                escucha.RecognizeAsync(RecognizeMode.Multiple);
                escucha.SpeechRecognized += Escucha_SpeechRecognized;
                escucha.AudioLevelUpdated += Escucha_AudioLevelUpdated;
            }

    porfavor espero puedan ayudarme


    • Editado RigorVzla domingo, 11 de febrero de 2018 15:53
    sábado, 10 de febrero de 2018 21:22

Respuestas

  • hola

    hasta donde entiendo no creo que puedas cambiarlo mediante la asignacion del device en el SpeechRecognitionEngine, sino que deberias definir el audio default en windows mediante alguna windows api

    entonces cuando uses el SetInputToDefaultAudioDevice() aplicara el que desde windows hayas asignado

    aunque se que usar las api de windows puede ser algo complicado, quizas alguna libreria podria aqyudar

    SoundSwitch

    algo como esta quizas que de uan pista de como cambiar el device por defecto en windows para asi luego lo tome el speech library

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 14 de febrero de 2018 4:06

Todas las respuestas

  • Hola RigorVzla

    Con respecto a tu consulta, te recomiendo ir a los siguientes enlaces que, a continuación  te compartiré y que pueden serte útiles, es con lo referente a tu consulta.

    https://docs.microsoft.com/es-es/windows/uwp/design/input/speech-interactions

    https://msdn.microsoft.com/es-es/library/system.speech.recognition.semanticvalue(v=vs.110).aspx

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 12 de febrero de 2018 17:23
    Moderador
  • gracias pero no me ayudo mucho, preferiria que una persona con la experiencia en el tema me explicara que hacer
    martes, 13 de febrero de 2018 21:08
  • hola

    hasta donde entiendo no creo que puedas cambiarlo mediante la asignacion del device en el SpeechRecognitionEngine, sino que deberias definir el audio default en windows mediante alguna windows api

    entonces cuando uses el SetInputToDefaultAudioDevice() aplicara el que desde windows hayas asignado

    aunque se que usar las api de windows puede ser algo complicado, quizas alguna libreria podria aqyudar

    SoundSwitch

    algo como esta quizas que de uan pista de como cambiar el device por defecto en windows para asi luego lo tome el speech library

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 14 de febrero de 2018 4:06
  • partire por ahi muy buena respuesta gracias, en efecto eso quiero lograr
    miércoles, 14 de febrero de 2018 10:19
  • Lenadro busco de como comunicarme contigo y no encuentro como, no pude resolver ese problema si puedes ayudarme al respecto seria de gran ayuda en mi proyecto gracias de antemano.
    domingo, 18 de febrero de 2018 22:00