Bonjour,

J'ai un mp3 que je lit grace à l'objet suivant et la librairie JLayer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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