Detectar si hay un micrófono conectado

Estoy haciendo un sistema de reconocimiento de voz pero no hallo la manera de verificar si el micrófono esta conectado alguien saben algún pedazo de codigo o alguna forma de detectar si esta conectado el micrófono.

Un saludo y gracias por cualquier respuesta :)

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Este parece ser el API que

Este parece ser el API que necesitas:

http://docs.oracle.com/javase/tutorial/sound/capturing.html

Gracias vagando mas por la

Gracias vagando mas por la red encotnre este pedazo de codigo, pero pense que con un timer funcionaria el hecho de que me dijera si esta conectado o no pero al menos ya es un avance aqui paso el pedazo de codigo por si le interesa a alguien :)

lastNumMics = 0;
Line.Info[] lineInfoArray = AudioSystem.getSourceLineInfo(Port.Info.MICROPHONE);
int numMics = lineInfoArray == null ? 0 : lineInfoArray.length;

if( lastNumMics > -1 )
{
JOptionPane.showMessageDialog(null, numMics + " " + lastNumMics ,"Error Inesperado" , JOptionPane.ERROR_MESSAGE);

if( numMics == lastNumMics )
{
JOptionPane.showMessageDialog(null, "Microfono no encontrado", "Error Inesperado" , JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
lastNumMics = numMics;