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

Multimédia Java Discussion :

Problème import javazoom.jl.player.Player


Sujet :

Multimédia Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 24
    Par défaut Problème import javazoom.jl.player.Player
    Bonjour.

    Je débute en programmation java.
    Je suis actuellement en train de créer un jeu et j'aurais souhaité ajouter un fichier mp3 à mon programme.

    J'ai trouvé sur le net un morceau de code mais il semblerait que Eclipse ne puisse pas importer javazoom.jl.player.Player et par conséquent ne reconnait pas le Player.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    /*************************************************************************
     *  Compilation:  javac -classpath .:jl1.0.jar MP3.java         (OS X)
     *                javac -classpath .;jl1.0.jar MP3.java         (Windows)
     *  Execution:    java -classpath .:jl1.0.jar MP3 filename.mp3  (OS X / Linux)
     *                java -classpath .;jl1.0.jar MP3 filename.mp3  (Windows)
     *  
     *  Plays an MP3 file using the JLayer MP3 library.
     *
     *  Reference:  http://www.javazoom.net/javalayer/sources.html
     *
     *
     *  To execute, get the file jl1.0.jar from the website above or from
     *
     *      http://www.cs.princeton.edu/introcs/24inout/jl1.0.jar
     *
     *  and put it in your working directory with this file MP3.java.
     *
     *************************************************************************/
     
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
     
    import javazoom.jl.player.Player;
     
    public class MP3 {
        private String filename;
        private Player player; 
     
        // constructor that takes the name of an MP3 file
        public MP3(String filename) {
            this.filename = filename;
        }
     
        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();
        }
     
     
        // test client
        public static void main(String[] args) {
            String filename = args[0];
            MP3 mp3 = new MP3(filename);
            mp3.play();
     
            // do whatever computation you like, while music plays
            int N = 4000;
            double sum = 0.0;
            for (int i = 0; i < N; i++) {
                for (int j = 0; j < N; j++) {
                    sum += Math.sin(i + j);
                }
            }
            System.out.println(sum);
     
            // when the computation is done, stop playing it
            mp3.close();
     
            // play from the beginning
            mp3 = new MP3(filename);
            mp3.play();
     
        }
     
    }
    J'ai aussi téléchargé le fichier jl1.0.jar que j'ai placé dans le même dossier que mon fichier MP3.java
    A la compilation, j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
     
        at MP3.main(MP3.java:59)
    Ce qui correspond à la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        public static void main(String[] args) {

    Merci d'avance pour vos réponses!

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah faudrait penser à ajouter le(s) jar(s) de javazoom dans ton classpath (ce qui est dénommé build path sous eclipse), sinon il est sûr ça ne marchera pas

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 24
    Par défaut
    Merci pour votre réponse,
    je débute juste, ai-je juste à ajouter les lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javac -classpath .:jl1.0.jar MP3.java;
    java -classpath .:jl1.0.jar MP3 filename.mp3;
    et ceci dans le fichier .classpath?
    Je dis peut être des bêtises...

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Non, sous eclipse il faut aller dans le propriétés du projet puis aller dans le section Java build path, onglet libraries et faire un add jar si ton jar est dans les repertoires de ton projet ou un add external jar s'il se trouve en dehors.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 24
    Par défaut
    Ah merci, je n'ai déjà plus d'erreur dans mon code.
    Cependant, quand je compile j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    	at MP3.main(MP3.java:60)
    Ce qui correspond à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            String filename = args[0];
    Je ne comprends pas ce qu'il faut que je passe en argument.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah faudrait peut être que tu lices les.commentaires en haut de la classe des.fois qu'il pourraient s'avérer utililes.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 24
    Par défaut
    A vrai dire, je ne vois pas trop, même en lisant les commentaires!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        public static void main(String[] args) {
            String filename = args[0];

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Et la quatrième ligne des commentaires apporte la réponse à ton problème

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 24
    Par défaut
    J'ai modifié l'argument par filename par le nom de mon fichier et cela fonctionne!

    Merci beaucoup pour votre réactivité et vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème labview / activeX / Windows media player
    Par Invité dans le forum LabVIEW
    Réponses: 1
    Dernier message: 20/08/2013, 04h51
  2. [Win Vista] Problème de mise à jour Flash Player
    Par Jeannot45 dans le forum Installation
    Réponses: 1
    Dernier message: 13/04/2009, 08h47
  3. Problème de son avec Flash Player Version 9
    Par elthenia dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 18/07/2008, 14h41
  4. Problème entre vidéo et Flash Player >9.0.124
    Par Cdic83 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 29/04/2008, 22h38
  5. Problème de lecture avec un player audio ouvert par SWFobject
    Par ceddus dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/06/2007, 04h47

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