Hallo zusammen,
Wie verwende ich beim AdvancedPlayer die stop()-Methode richtig. Im folgenden Code wird der ganze Stream abgespielt und der anschließende stop führt dann natürlich zu einer Exception.
Wie verwende ich beim AdvancedPlayer die stop()-Methode richtig. Im folgenden Code wird der ganze Stream abgespielt und der anschließende stop führt dann natürlich zu einer Exception.
Java:
protected int offset = 0;
protected int repeatOnFrame=0;
protected int mod=0;
new Thread()
{
public void run() {
while(true){
try {
BufferedInputStream buffer = new BufferedInputStream(new FileInputStream(filename));
AdvancedPlayer player = new AdvancedPlayer(buffer);
player.setPlayBackListener(new PlaybackListener() {
@Override
public void playbackFinished(PlaybackEvent event) {
repeatOnFrame=offset;
offset = event.getFrame();
}
});
player.play(offset, Integer.MAX_VALUE);
if(mod==0)break; // Start
else if(mod==1){ // Pause
mod=0;
player.stop();
}
else if(mod==2){ // Stopp
mod=0;
player.stop();
break;
}
else{ //Repeat
mod=0;
offset=repeatOnFrame;
}
} catch (JavaLayerException ev) {
ev.printStackTrace();
} catch (FileNotFoundException ev) {
ev.printStackTrace();
}
}
}
}.start();