import java.io.BufferedInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.advanced.AdvancedPlayer;
import javazoom.jl.player.advanced.PlaybackEvent;
import javazoom.jl.player.advanced.PlaybackListener;
public class unisound implements Runnable {
static AdvancedPlayer mp3_player = null;
static BufferedInputStream mp3_in = null;
private int pausedOnFrame = 0;
private boolean looped = false;
private boolean stopped = true;
private String file = "";
private Thread thread;
private PlaybackListener pb = new PlaybackListener() {
@Override
public void playbackFinished(PlaybackEvent event) {
thread.interrupt();
if( looped ){
play( file, looped );
}else{
stopped = true;
}
}
};
public static void main() {
}
public void play( String sFile, boolean bLoop ) {
file = sFile;
looped = bLoop;
try {
URL url = unifrog.class.getResource( file );
mp3_in = new BufferedInputStream( url.openStream() );
mp3_player = new AdvancedPlayer(mp3_in);
mp3_player.setPlayBackListener(pb);
thread = new Thread( new unisound() );
thread.start();
stopped = false;
//(new Thread( new unisound())).start();
} catch (MalformedURLException ex) {
} catch (IOException e) {
} catch (JavaLayerException e) {
} catch (NullPointerException ex) {
}
}
public void isplaying(){
}
public void stop() {
if(stopped) return;
System.out.println("Stop music playback");
looped = false;
mp3_player.stop();
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
mp3_player.play();
} catch (JavaLayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}