Lire un MP3 en boucle sans coupure
Bonjour,
J'ai un mp3 que je lit grace à l'objet suivant et la librairie JLayer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| class MP3 {
private String filename;
Player player;
boolean repeter;
// constructor that takes the name of an MP3 file
public MP3(String filename,boolean repeter) {
this.filename = filename;
this.repeter = repeter;
}
public void close() { if (player != null) player.close(); }
// play the MP3 file to the sound card
public void play() {
try {
FileInputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);
player = new Player(bis);
}
catch (Exception e) {
System.out.println("Problem playing file " + filename);
System.out.println(e);
}
// run in new thread to play in background
new Thread() {
public void run() {
try {
player.play();
}
catch (Exception e) { System.out.println(e); }
}
}.start();
}
} |
J'aimerais le lire en boucle. Je fais ça avec la fonction suivante :
Code:
1 2 3 4 5 6 7 8 9
| MP3 mp3=new MP3("sound/loop/house/8358.mp3",true);
mp3.play();
while (true) {
if (mp3.player.isComplete()) {
mp3.close();
mp3.play();
}
} |
Le soucis c'est qu'entre chaque redémarrage il y a une petite coupure qui n'est vraiment pas estethique parce que je pense que ça relit le fichier. Il n'y aurait pas moyen de répeter la lecture sans relire le fichier ?
Merci pour votre aide