Como capturar som do microfone com a API de som java?

O tutorialhttp: //download.oracle.com/javase/tutorial/sound/capturing.htm não aborda como selecionar o microfon

Estou enumerando misturadores com o seguinte código

System.out.println("Searching for microphones");
for(Mixer.Info mixerinfo : AudioSystem.getMixerInfo()) {
    mixer = AudioSystem.getMixer(mixerinfo); 

    //System.out.println(mixerinfo.toString());
    if( mixer.isLineSupported(Port.Info.MICROPHONE) ) {
        mixers.add(mixer);
        System.out.println(Integer.toString(mixers.size()) + ": " + mixerinfo.toString());
    }
}

i.e. pela presença da entrada do microfone. Mas, em seguida, com um mixer, não consigo ler a linha.

Se eu usarmixer.getTargetLineInfo(), Recebo uma matriz de umInfo, que ao passar paramixer.getLine retorna um objeto do tipocom.sun.media.sound.PortMixer$PortMixerPort, que não está documentado.

Se eu usarmixer.getTargetLines() Recebo uma matriz vazia.

Se eu criar meu próprioDataLine.Info e passe para o @ do mixgetLine, Recebo uma exceção não suportada.

Então o que fazer

questionAnswers(2)

yourAnswerToTheQuestion