Hallo,
ich möchte mit dem JMF Sound aufnehmen mit folgenden Parametern: 8000Hz, 16-bit, mono, gespeichert soll es im WAVE-Format werden.
Ich habe alles angegeben und es sollte auch möglich sein, mit diesen Einstellung Sound aufzunehmen, jedoch wird Sound immer mit 44000HZ und stereo aufgenommen, ob wohl ersteres im Code steht.
Hat jemand schon mal so ein Problem gehabt und kann mir weiter helfen? Ich habe dazu bisher noch nichts gefunden...
Danke schon mal für jede Hilfe! Lansam weiß ich nicht mehr weiter und muss jedoch den Sound in genau der Qualität aufnehmen...
Julia
Code:
ich möchte mit dem JMF Sound aufnehmen mit folgenden Parametern: 8000Hz, 16-bit, mono, gespeichert soll es im WAVE-Format werden.
Ich habe alles angegeben und es sollte auch möglich sein, mit diesen Einstellung Sound aufzunehmen, jedoch wird Sound immer mit 44000HZ und stereo aufgenommen, ob wohl ersteres im Code steht.
Hat jemand schon mal so ein Problem gehabt und kann mir weiter helfen? Ich habe dazu bisher noch nichts gefunden...
Danke schon mal für jede Hilfe! Lansam weiß ich nicht mehr weiter und muss jedoch den Sound in genau der Qualität aufnehmen...
Julia
Code:
Java:
Processor p = null;
StateHelper stateHelper = null;
CaptureDeviceInfo di = null;
Vector deviceList = CaptureDeviceManager.getDeviceList(new AudioFormat(AudioFormat.LINEAR, 8000, 16, 1));
if (deviceList.size() > 0) {
di = (CaptureDeviceInfo)deviceList.firstElement();
} else {
System.out.println("konnte keine Audio-Device finden!");
System.exit(-1);
}
try {
p = Manager.createProcessor(di.getLocator());
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
stateHelper = new StateHelper(p);
if(!stateHelper.configure(10000)) {
System.out.println("irgendwas hat zu lange gedauert...!");
System.exit(-1);
}
p.setContentDescriptor(new FileTypeDescriptor(FileTypeDescriptor.WAVE));
if(!stateHelper.realize(10000)) {
System.out.println("irgendwas hat zu lange gedauert...!");
System.exit(-1);
}
javax.media.protocol.DataSource source = p.getDataOutput();
MediaLocator dest = new MediaLocator(speicherort);
DataSink filewriter = null;
try {
filewriter = Manager.createDataSink(source, dest);
filewriter.open();
StreamWriterControl swc = (StreamWriterControl) p.getControl("javax.media.control.StreamWriterControl");
if (swc != null) {
swc.setStreamSizeLimit(5000000);
}
filewriter.start();
stateHelper.playToEndOfMedia(maxlaenge);
stateHelper.close();
filewriter.close();
} catch (Exception e) {
System.out.println("Irgendwas hat mit der Aufnahme nicht geklappt... doof...");
e.printStackTrace();
System.exit(1);
}
Zuletzt bearbeitet: