IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Lire un MP3 en boucle sans coupure


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Par défaut Lire un MP3 en boucle sans coupure
    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

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Cela vient peut-être de l'API qui lit le mp3.
    Calcule le temps avant chaque appel de "play".
    Sinon, tu pourrais modifier le début du mp3 pour passer le volume de 0 à normal, et modifier la fin du mp3 pour diminuer le volume jusqu'à 0.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Par défaut
    Apparemment le problème vient bien de la relecture du fichier par l'API. Je peux en effet faire le fade in fade out mais ça ne reste pas très élegant
    il n'y a pas de meilleur solution ?

Discussions similaires

  1. Lire plusieurs videos sans coupure
    Par killerhertz dans le forum Flash
    Réponses: 0
    Dernier message: 14/03/2014, 21h29
  2. Réponses: 5
    Dernier message: 27/08/2012, 19h02
  3. lire un mp3, sans qu'il soit téléchargeable
    Par Concombre Masqué dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 25/01/2011, 19h28
  4. Lire mp3 en C sans bibliothèques externes !
    Par Pinokio3x7 dans le forum C
    Réponses: 7
    Dernier message: 22/04/2010, 08h51
  5. [Turbo Pascal] Lire une touche au clavier sans interrompre le programme
    Par Allelouia dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 29/03/2003, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo