TargetDataLine & AudioSystem.getLine()

felixpk

Mitglied
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.

Java:
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

Top Contributor
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

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

Java:
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
 
S

Spacerat

Gast
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.
 

Neue Themen


Oben