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

avec Java Discussion :

Java et durée des mp3


Sujet :

avec Java

  1. #1
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut Java et durée des mp3
    Salut à tous,

    dans le cadre d'un projet personnel, j'en suis à devoir tirer des informations sur des morceaux mp3. Notamment la durée

    Je sais qu'il n'est pas la peine de réinventer la roue, mais mon niveau en java est lamentable, alors autant bosser un peu ça ne pourra que me faire du bien.

    Voilà, je cherche donc des informations pour savoir comment calculer la durée d'un morceau mp3 en java. Apparemment je dois calculer cette durée selon la taille du morceau et son taux de compression.

    Trois questions :

    -le taux de compression d'un mp3 est-il constant?

    - où est-il indiqué?

    - La voie dans laquelle je devrai partir serait-elle d'utiliser un FileInputStream, puis de parcourir le fichier jusqu'à trouver son taux de compression? (si celui-ci est indiqué dans le fichier)

    Pour info je cherche à créer une application qui liste les musiques qui se trouvent dans incoming (rhôôôô) pour les ranger dans ma musique puis les ajouter à certaines playlists précises. Après prise d'informations il est non obligatoire mais mieux de mettre la durée du mp3 dans la playlist, d'où ma question.

    Merci à tous

  2. #2
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut
    apparament le taux est constant... pour le reste j'aurai besoin de vos lumières

  3. #3
    Membre habitué Avatar de Celeborn
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Points : 156
    Points
    156
    Par défaut
    Quand tu dis mp3 tu parles bien du format MPEG-1/2 Audio Layer 3 ou alors comme on l'entend souvent d'une compression audio quelconque ?
    Sans utilisation de framework, c'est un projet conséquent ; si c'est bien ce que tu veux faire je te conseil de te tourner du côté du standard pour comprendre comment sont encodé les données.

  4. #4
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut
    hello,

    je parle effectivement du MPEG-1/2 Audio Layer 3. Pour les wav et autres ogg on verra plus tard. J'ai pompé sur le net des librairies pour lire les tags, mais à la réflexion je devrais plutôt me faire ma propre classe....

    et qu'est ce que c'est un framework?

    As-u un site qui référence bien l'ordonnancement des données? j'ai cherché sur mais étant un peu con j'ai eu du mal à comprendre.

  5. #5
    Membre habitué Avatar de Celeborn
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Points : 156
    Points
    156
    Par défaut
    Dans ce genre de projet, il faut soit être capable de lire les documentations techniques (souvent long et rude comme boulot) en anglais soit utiliser des api qui te fournissent une interface haut niveau.

    Si comme tu le dis "mon niveau en java est lamentable", je pense qu'utiliser une lib externe est un exercice bien plus judicieux que de te lancer dans ce travail complexe.

  6. #6
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut
    certes. c'est pour l'instant ce que je fais.

    D'une part, la doc sur les librairies externes est souvent inexistante, et quand ce n'est pas le cas incompréhensible.

    Par contre, au risque de passer pour un , je ne vois pas pourquoi trouver UNE info qui doit se trouver au n-ième premier bit d'un fichier pour la multiplier par File.getsize relève de l'impossible. Je frise le présomptueux ou l'inconscient? un bytereader c'est pas la solution à tous mes problèmes?

    Dernière chose, trouver une librairie qui me trouverait la durée d'un mp3 sur google revient à envoyer un GI aveugle au milieu de la jungle vietnamienne dans les années 70...

  7. #7
    Membre habitué Avatar de Celeborn
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Points : 156
    Points
    156

  8. #8
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut
    ok, tu m'as eu, c'est imbuvable. Mais dans cas-là, connais-tu une biblio ou un bout de code qui renvoie la durée d'un mp3?

  9. #9
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Pour le coup, ca me semble pas hyper compliqué, ce document étant assez bien fait. Après je n'ai fais que le parcourir, j'ai peut être raté un truc.
    Tu ouvres un flux sur le fichier, tu lis les premiers bytes. Un peu chiant au début vu que tu dois faire pas mal de décallage de bit pour récupérer les valeurs, mais une fois que tu as compris le truc c'est bon.

  10. #10
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut
    okay. dès que j'aurai une minute je vais bosser dessus. merci à tous

  11. #11
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    RandomAccessFile (ou une des classes NIO) semble etre plus interressant qu'un simple FileInputStream. Sinon MP3 devrait etre supporte par le Java Media Framework.

    Un framework est une API, une lib, un ensemble de classe dediee a une tache particuliere (ex: faire des graphiques, afficher des composants, gerer des collections d'objet, etc.)
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    Salut,

    La librairie suivante fait cela très bien :

    https://jaudiotagger.dev.java.net/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    final AudioFile fileMP3 = AudioFileIO.read(new File(absolutePath));
     
    log.debug("LENGTH : " + fileMP3.getAudioHeader().getTrackLength());
    le parsing des infos est assez rapide.

    Pour te donner une idée, j'ai récupéré les infos principaux de 600 mp3 en 15sec à partir des chemins contenus dans une playlist et encore, mon portable n'est pas récent lol.

    Voilà voilà ^^.

    Et puis si vraiment tu veux faire le truc à ta sauce, les sources sont bien sur disponibles hein

Discussions similaires

  1. Solution de reporting Open Source en Java pour générer des rapports Word, RTF ?
    Par jmax_ dans le forum Autres outils décisionnels
    Réponses: 3
    Dernier message: 19/06/2006, 09h53
  2. [JSF] Durée des sessions
    Par bslota dans le forum JSF
    Réponses: 1
    Dernier message: 18/01/2006, 10h04
  3. [Audio]Lire des Mp3
    Par Belegkarnil dans le forum Multimédia
    Réponses: 1
    Dernier message: 04/12/2005, 01h41
  4. stocker des mp3
    Par brasco06 dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/04/2005, 11h45
  5. [ENCODAGE][JAVA]Afficher correctement des accents
    Par kornelius dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/02/2004, 16h37

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