studio programacion móviles libros libro desarrollo desarrollar curso aprende aplicaciones java audio microphone

programacion - Java Sound API-captura de micrófono



manual de programacion android pdf (1)

Esto te dará el predeterminado establecido por tu sistema operativo.

AudioFormat format = new AudioFormat(8000.0f, 16, 1, true, true); TargetDataLine microphone = AudioSystem.getTargetDataLine(format);

Para seleccionar un dispositivo de entrada particular (TargetDataLine), es mejor enumerar los mezcladores y filtrar el nombre del Mezclador que desee.

Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo(); for (Mixer.Info info: mixerInfos){ Mixer m = AudioSystem.getMixer(info); Line.Info[] lineInfos = m.getSourceLineInfo(); for (Line.Info lineInfo:lineInfos){ System.out.println (info.getName()+"---"+lineInfo); Line line = m.getLine(lineInfo); System.out.println("/t-----"+line); } lineInfos = m.getTargetLineInfo(); for (Line.Info lineInfo:lineInfos){ System.out.println (m+"---"+lineInfo); Line line = m.getLine(lineInfo); System.out.println("/t-----"+line); } }

He estado leyendo en Sound API for Java durante un par de días y no puedo encontrarle sentido. Soy un programador decente, tengo dificultades para entender la API.

He intentado capturar audio de mi micrófono y mostrar un gráfico de onda en tiempo real.

Tengo problemas para capturar audio, dicen en el tutorial para hacer esto, pero parece que no puedo hacerlo funcionar.

Cualquier sugerencia y ayuda sería muy apreciada, una respuesta línea por línea sería ideal.

Por favor y gracias.

import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.TargetDataLine; public class FindLine { public static void main (String[] args){ AudioFormat format = new AudioFormat(22000,16,2,true,true); TargetDataLine line; DataLine.Info info = new DataLine.Info(TargetDataLine.class, format); // format is an AudioFormat object if (!AudioSystem.isLineSupported(info)) { // Handle the error ... } // Obtain and open the line. try { line = (TargetDataLine) AudioSystem.getLine(info); line.open(format); } catch (LineUnavailableException ex) { // Handle the error ... } } }