Ho provato con questo codice
codice:
try {
Mixer.Info mixers[] = AudioSystem.getMixerInfo();
Mixer.Info mixer_info = null;
for(int i=0;i<mixers.length;i++)
if(mixers[i].getName().contains("altoparlanti"))
{
mixer_info=mixers[i];
}
Mixer mixer = AudioSystem.getMixer(mixer_info);
AudioFormat format = getAudioFormat();
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
//Port.Info info = Port.Info.MICROPHONE;
// checks if system supports the data line
if (!AudioSystem.isLineSupported(info)) {
System.out.println("Line not supported");
System.exit(0);
}
//line = (TargetDataLine) AudioSystem.getLine(info);
line = (TargetDataLine) mixer.getLine(info);
line.open(format);
line.start(); // start capturing
System.out.println("Start capturing...");
AudioInputStream ais = new AudioInputStream(line);
System.out.println("Start recording...");
// start recording
AudioSystem.write(ais, fileType, wavFile);
} catch (LineUnavailableException ex) {
ex.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
E mi dà questo errore, la riga dell'errore è quella in grasetto e in corsivo
codice:
Exception in thread "main" java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 16000.0 Hz, 8 bit, stereo, 2 bytes/frame,
at com.sun.media.sound.DirectAudioDevice.getLine(DirectAudioDevice.java:174)
at JavaSoundRecorder.start(JavaSoundRecorder.java:65)
Come potrei risolvere?