# TargetDataLine & AudioSystem.getLine()



## felixpk (15. Nov 2012)

Guten Tag zusammen,
habe mich eben mal an ein neues Projekt gesetzt!
Im Moment geht es nur darum Sound aufzunehmen und anschließend wiederzugeben.
Ich bin dabei einem Tutorial gefolgt und bekomme komischerweise einen Casting-Fehler.


```
TargetDataLine line;

public void record() throws IOException {
		try{
			line = (TargetDataLine) AudioSystem.getLine(info);
			line.open(format);
			line.start();
```

Die Fehlermeldung dazu ist: *[WR]Exception in thread "main" java.lang.ClassCastException: com.sun.media.sound.DirectAudioDevice$DirectTDL cannot be cast to javax.sound.sampled.SourceDataLine[/WR]*

Ich Hoffe ihr könnt mir helfen, habe nämlich nirgendswo einen derartigen Fehler entdecken können.
Danke im Voraus! :toll:


----------



## Marco13 (15. Nov 2012)

Beim Versuch, auf TargetDataLine zu casten, kann eine Exception kommen, in der steht, dass man nicht nach SourceDataLine casten kann. Kommt der Fehler wirklich da her?


----------



## felixpk (15. Nov 2012)

Oh man, stimmt, hier ist der richtige Abschnitt des Codes:


```
SourceDataLine lineOut;

public void play() throws IOException{
		try{
			lineOut = (SourceDataLine)AudioSystem.getLine(info);
			lineOut.open(format);
			lineOut.start();
```

Seit dem ich gepostet habe, beschäftige ich mich schon mit dem Thema und habe immer noch nicht den Fehler gefunden ???:L


----------



## felixpk (15. Nov 2012)

So, kleines Update:
Ich werde jetzt ein anderes Tutorial machen: Tutorial!
Es behandelt genau das gleiche Thema, wenn ich es geschafft habe, werde ich es hier posten :toll:


----------



## Spacerat (15. Nov 2012)

Ich nehme mal an, dass du beide gepostete Programmabschnitte auch verwendest, aber wenn du dafür auch in beiden Abschnitten die selbe Instanz der Line-Info verwendest, hast du ein Problem, nämlich jenes, dass man aus einer TargetDataLineInfo keine SourceDataLine bekommen kann.


----------

