Я получаю все встроенные аудиоустройства и список внешних устройств, когда пользователь выбирает любое встроенное устройство ввода звука, запись и воспроизведение звука невозможны, мне нужно только внешнее устройство ввода звука. пожалуйста, дайте мне решение. Спасибо Заранее помогите мне.
public class Recorder {
TargetDataLine line;
AudioFormat a = new AudioFormat(16000, 8, 2, true, true);
BufferedInputStream soundFile;
Clip clip;
AudioInputStream stream;
/*
* File temp = null; static String temp1 = null;
*/
static String path = PYSICALPATH;
public void start(Mixer mixer) {
try {
Line.Info[] lineInfos = mixer.getTargetLineInfo();
for (Line.Info lineInfo:lineInfos){
System.out.println("\t-----"+line);
line = (TargetDataLine) mixer.getLine(lineInfo);
line.open();
line.start();
AudioInputStream ais = new AudioInputStream(line);
File file = new File(path);
file.getParentFile().mkdirs();
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioSystem.write(ais, AudioFileFormat.Type.WAVE, new File(path.toString() + "RecordAudio.wav"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public Recorder(Mixer mixer) {
Thread stopper = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(10 * 1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
line.stop();
line.close();
}
});
stopper.start();
start(mixer);
}
}
comboBoxForAudioSources = new JComboBox(AudioSystem.getMixerInfo());
Mixer.Info mixerInfo = (Info) comboBoxForAudioSources.getSelectedItem();
Mixer mixer = AudioSystem.getMixer(mixerInfo);
Recorder recorder = new Recorder(mixer);