Per la riproduzione di un file mp3 sto utilizzando la libreria JavaZOOM ed in particolare la sua classe AdvancedPlayer.
Il mio intento è quello di eseguire un loop continuo del file, cioè che appena finita la canzone riprenda da capo. Poichè AdvancedPlayer non ha definita questa funzione ho deciso di (provare) implementarla da me:
ho pensato che per fare ciò che voglio devo "portare a zero" l'inputStream che esso riproduce quindi ho fatto una cosa del genere:
codice:
BufferedInputStream bis = new BufferedInputStream (getClass ().getResourceAsStream ("percorsoDelMioMP3"));
bis.mark (0);
AdvancedPlayer ap = new AdvancedPlayer (bis);
ap.setPlayBackListener(new PlaybackListener () {
public void playbackFinished (PlaybackEvent pe) {
try {
bis.reset();
ap.play();
} catch (IOException ex) {
Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void playbackStarted (PlaybackEvent pe) {
}
}
Ma non ottengo il risultato sperato , anzi mi viene lanciata addirittura una eccezione (al termine dell'esecuzione del file ovviamente) , una NullPointerException alla riga "ap.play ()"..
Dove sbaglio?Come posso risolvere?