# Mit Mikrofon aufnehmen



## windl (23. Mrz 2015)

Hi NG,

ich nehme mit folgendem Code

```
TargetDataLine line = null;
		DataLine.Info info = new DataLine.Info(TargetDataLine.class, getAudioFormat());
		
		try{
			line = (TargetDataLine) AudioSystem.getLine(info);
			line.open(getAudioFormat());
		}
		catch (LineUnavailableException e){
			e.printStackTrace();
		}
		
		line.start();
		AudioInputStream stream = new AudioInputStream(line);
		
		
		try{
		
		File file = new File("D:/"+datName+".wav");
		AudioSystem.write(stream, AudioFileFormat.Type.WAVE, file);
		
		
		}catch(Exception error){
			error.printStackTrace();
		}
```

erfolgreich via angeschlossenem Mikrofon auf.

Es wäre aber ganz nett, wenn man beim Sprechen bereits an die Bytedaten kommen kann um das folgende angehängte Ergebnis zu erhalten.

Hat jemand eine Idee wie man das Problem lösen könnte?

Danke
Uwe


----------



## Joose (23. Mrz 2015)

windl hat gesagt.:


> ```
> AudioInputStream stream = new AudioInputStream(line);
> ```



Da hast du einen Stream ... alles was von diesem INPUT kommt kannst du auch wieder lesen bzw. verwenden um damit zu arbeiten.
Zum Beispiel verwendest du diesen Stream um daraus eine Datei zu erzeugen.


----------



## windl (23. Mrz 2015)

Hallo,

vielen Dank für die Antwort.
Mit dem Stream funktioniert es.
Leider wirft der Stream folgenden Fehler "mark/reset not supported".
Die WAVE-Datei ist somit nicht zu gebrauchen.

Wie kann ich denn den Stream reseten?


----------



## Joose (24. Mrz 2015)

Google hat mir folgendes dazu ausgespuckt: audio - java.io.IOException: mark/reset not supported - Stack Overflow


----------



## windl (24. Mrz 2015)

Danke - den Link hatte ich total übersehen.


----------

