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

AWT/Swing Java Discussion :

Lire fichier son depuis le .JAR ?


Sujet :

AWT/Swing Java

  1. #1
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut Lire fichier son depuis le .JAR ?
    Bonjour,

    Je charge sans problème des sons depuis le disque avec le code suivant:
    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
     
        class SoundLoader  {
            SoundList soundList;
            URL completeURL;
            String relativeURL;
     
            public SoundLoader(SoundList soundList,
                               URL baseURL, String relativeURL) {
                this.soundList = soundList;
                try {
                    completeURL = new URL(baseURL, relativeURL);
                } catch (MalformedURLException e){
                    System.err.println(e.getMessage());
                }
                this.relativeURL = relativeURL;
                AudioClip audioClip = Applet.newAudioClip(completeURL);
                soundList.putClip(audioClip, relativeURL);        
            }
    Est-il possible de réaliser le même chargement depuis le fichier .JAR courrant ?

    d'avance merci.

  2. #2
    Membre chevronné
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Par défaut
    Bien sur et sans problème :

    Pour cela à chaque fois que tu utilise l'URL du fichier tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource(URL)
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AudioClip audioClip = Applet.newAudioClip(getClass().getResource(completeURL));
    L'url étant le chemin complet des package dans le jar lui même.

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Merci.
    getResourcene passe pas:
    Error(129,24): method getResource(java.net.URL) not found in class java.lang.Class

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Ok vu. il s'agissait d'un paramètre de type : String

  5. #5
    Membre chevronné
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Par défaut
    Oui, excuse moi, j'ai oublié de préciser qu'il fallait un chemin de type string et non URL

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Cela ne fonctionne toujours pas.
    j'ai un fichier Sound1.wav dans la racine du .JAR et pourtant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource("/Sound1.wav") ;
    retourne null;

  7. #7
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Désolé. Pour une raison obscure, Winzip m'affichait le nom des fichiers sons en minuscules, alors qu'ils sont en majuscules.
    Cela fonctionne parfaitement, maintenant.
    Merci bien

  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
    Ce n'est pas la première fois que WinZip pose ce genre de problèmes, utilises plutôt 7Zip qui est open source, retranscrit bien les chemins et la casse et qui gère un grand nombre de types d'archivage différents (rar, zip, tar.gz, 7z ...)

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

Discussions similaires

  1. Lire fichier excel depuis un script PL/SQl
    Par athone666 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 03/07/2009, 17h15
  2. [VBA-E] lire fichier son avec excel
    Par potili2 dans le forum Excel
    Réponses: 5
    Dernier message: 02/04/2007, 20h26
  3. Accéder à un fichier XML depuis un jar
    Par Janitrix dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2007, 17h35
  4. getRessource() d'un fichier local depuis un JAR
    Par romaintaz dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/08/2005, 12h11
  5. [JAR]ouverture de fichier texte depuis executables jar
    Par julien31 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/03/2005, 15h53

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