Hi,
habe ein kleinen soundplayer geschrieben. Die dateien sind in einer Playlist vorhanden und können nacheinander abgespielt werden. Die Klasse die zum abspielen der Sounddatei zuständig ist, ist ein thread. Jetzt habe ich das Problem, das mein Programm zu erst kontrollieren soll ob eine datei bereits abgespielt wird, wenn ja soll er diese vorher schliessen. Ansonsten neuen Thread aufrufen.
Mein Code sieht folgendermaßen aus.
Hauptklasse:
Mein Thread:
Außerdem braucht das Programm viel zu viel Ressourcen und ich kann mir nicht erklären weshalb...
Danke!
habe ein kleinen soundplayer geschrieben. Die dateien sind in einer Playlist vorhanden und können nacheinander abgespielt werden. Die Klasse die zum abspielen der Sounddatei zuständig ist, ist ein thread. Jetzt habe ich das Problem, das mein Programm zu erst kontrollieren soll ob eine datei bereits abgespielt wird, wenn ja soll er diese vorher schliessen. Ansonsten neuen Thread aufrufen.
Mein Code sieht folgendermaßen aus.
Hauptklasse:
Code:
if ((player != null) && (player.isAlive())) {
player.stopPlaying();
player = null;
}
else {...
player = new Player(in);
player.start();
}
Mein Thread:
Code:
public void stopPlaying(){
if(player!= null){
player.interrupt();
weiter = false;
line.close();
player = null;
}
public void startPlaying(){
while(weiter){
int readBytes =0;
byte[] data = new byte[20000];
line.start();
do{
try {
readBytes = in.read(data,0,data.length);
}catch (Exception e){
MainClass.logger.error(e.getMessage());
System.exit(-3);
}
if (readBytes!=-1) line.write(data, 0, readBytes);
} while (readBytes != -1);
}
Außerdem braucht das Programm viel zu viel Ressourcen und ich kann mir nicht erklären weshalb...
Danke!