N
NikolausS
Gast
Hallo liebe Java-Forum Gemeinde!
Ich schreibe gerade an einem Programm für die Uni bei dem wir eine "diktierfunktion" machen müssen, sprich, alles was gesagt wird (ob headset, mikro, oder integrierte laptop-mikros) aufzuzeichnen und abzuspeichern.
ich habe dazu schon folgenden Code:
soweit sogut, bei mir funktioniert es wunderbar.
Sobald ich denselben code aber auf einem anderen Rechner (mit headset) ausführen will, bekomme ich:
"java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 16000.0 Hz, 16 Bit, mono, 2bytes/frame, little-endian"
das problem ist denke ich, dass mixerInfo[4] nicht immer passt, sondern eben nur bei meinem PC, auf dem anderen ist an der stelle 4 die "java sound audio engine"
meine Frage ist, wie kann ich herausfinden, von wo genau ich aufnehmen muss? also ob mikro, oder headset, oder interes mikro?
weil das ist immer anders, je nach ausstattung des pcs...
Ich hoffe ihr könnt mir weiterhelfen!
Ich schreibe gerade an einem Programm für die Uni bei dem wir eine "diktierfunktion" machen müssen, sprich, alles was gesagt wird (ob headset, mikro, oder integrierte laptop-mikros) aufzuzeichnen und abzuspeichern.
ich habe dazu schon folgenden Code:
Java:
AudioFormat audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED, 16000.0F, 16, 1, 2, 16000.0F, false);
DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, audioFormat);
Mixer mixer = AudioSystem.getMixer(mixerInfo[4]); //da ist bei mir der primäre soundaufnahmetreiber, aber eben nur bei mir
linein = (TargetDataLine) mixer.getLine(dataLineInfo);
linein.open(audioFormat);
linein.start();
soweit sogut, bei mir funktioniert es wunderbar.
Sobald ich denselben code aber auf einem anderen Rechner (mit headset) ausführen will, bekomme ich:
"java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 16000.0 Hz, 16 Bit, mono, 2bytes/frame, little-endian"
das problem ist denke ich, dass mixerInfo[4] nicht immer passt, sondern eben nur bei meinem PC, auf dem anderen ist an der stelle 4 die "java sound audio engine"
meine Frage ist, wie kann ich herausfinden, von wo genau ich aufnehmen muss? also ob mikro, oder headset, oder interes mikro?
weil das ist immer anders, je nach ausstattung des pcs...
Ich hoffe ihr könnt mir weiterhelfen!