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