con el la propiedad de "SetInputToDefaultAudioDevice" necesito que me ayuden a realizar una busqueda de los microfonos activos por medio de un foreach
aqui muestro dos metodos con los que me resulta la obtencion de los dispositivos pero ninguno resulta al yo seleccionar el microfono no me lo cambia, algo falta pero no se que es, segun es recargar el SetInputToDefaultAudioDevice luego de un Disposed pero no se como hacerlo.
Código:
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);
//}
}
ya que por defecto me toma el microfono predeterminado, espero puedan ayudarme, estoy usando estos codigos ambos me dan en el combobox la lista de los dispositivoos de captura de sonido, pero no encuentro la forma que al yo seleccionarlo funcionen{
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);
//}
}
antes de eso cargo este metodo
Código:
private void ActivarEscucha()
{
escucha.SetInputToDefaultAudioDevice();
escucha.RecognizeAsync(RecognizeMode.Multiple);
escucha.SpeechRecognized += Escucha_SpeechRecognized;
escucha.AudioLevelUpdated += Escucha_AudioLevelUpdated;
}
{
escucha.SetInputToDefaultAudioDevice();
escucha.RecognizeAsync(RecognizeMode.Multiple);
escucha.SpeechRecognized += Escucha_SpeechRecognized;
escucha.AudioLevelUpdated += Escucha_AudioLevelUpdated;
}