Hi,
folgender Code:
Mein Problem ist nun das ich den Sound nicht stoppen kann. Benutze ich interrupt(), läuft der Sound einfach weiter d.h. der Thread wird nicht gestoppt!. Wenn ich stop() nehme, bekomme ich eine NullPointerException, wahrscheinlich weil der Player ja in einem Thread läuft und ich nicht von draussen zugreifen kann.
Wie löse ich das Problem?
Gruß Alex
folgender Code:
Java:
public class CSound extends Thread
{
private InputStream _file;
private AdvancedPlayer _player;
public CSound (String pathToFile)
{
try
{
_file = new FileInputStream(pathToFile);
_player = new AdvancedPlayer(_file);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void playSound()
{
start();
}
public void stopSound()
{
interrupt();
//_player.stop();
}
//Der Sound wird in einem Thread abgespielt, damit das Spiel weiterlaufen kann.
public void run()
{
try
{
_player.play();
}
catch(JavaLayerException e)
{
System.out.println(e.getMessage());
}
}
}
Mein Problem ist nun das ich den Sound nicht stoppen kann. Benutze ich interrupt(), läuft der Sound einfach weiter d.h. der Thread wird nicht gestoppt!. Wenn ich stop() nehme, bekomme ich eine NullPointerException, wahrscheinlich weil der Player ja in einem Thread läuft und ich nicht von draussen zugreifen kann.
Wie löse ich das Problem?
Gruß Alex