Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉATEUR DE PLAYLIST MP3


Information sur la source

Catégorie :Multimedia Classé sous : mp3, playlist, m3u, générateur, musique Niveau : Débutant Date de création : 24/04/2005 Date de mise à jour : 16/12/2007 13:06:57 Vu / téléchargé: 13 564 / 673

Note :
Aucune note

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Ce programme va rechercher tous les fichiers avec l'extension .mp3(ou autres...) sur tous les disques donnés en paramètres, et ensuite créer une playlist.

Vous pouvez changer les extensions en modifiant cette ligne :
if (morceau.endsWith(".mp3") || morceau.endsWith(".wma")||morceau.endsWith(".asx")

Vous pouvez également changer les disques a lister en modifiant le fichier Make.bat
ligne par défaut : java PlayList C:\
Pour ajouter un disque : java PlayList C:\ D:\ E:\ par exemple.
 

Source

  • /********************************************************/
  • /* Développé par Dorian Ganganelli */
  • /* && Geoffroy Vigneron */
  • /********************************************************/
  • import java.io.*;
  • public class PlayList{
  • static boolean CLEAR = false;
  • protected String dirFile;
  • protected File[] fileList;
  • public static long COUNT = 0;
  • public static int compteur = 0;
  • public String nouveauFichier;
  • protected FileWriter fwrite;
  • public static FileWriter fw;
  • protected String morceau;
  • protected String history=null;
  • boolean debut = false;
  • public static int TOTAL = 0;
  • public static char drive = 'c';
  • public PlayList(String racine){
  • this.dirFile = racine;
  • nouveauFichier = dirFile;
  • this.fileList =lister( new File(dirFile));
  • afficher(this.fileList);
  • }
  • public static void main(String[] args){
  • drive = args[0].charAt(0);
  • int tout = 0;
  • for (int i=0 ; i<args.length;i++){
  • TOTAL=0;
  • //CLEAR = true;
  • if (new File(args[i]).isDirectory())
  • new PlayList(args[i]);
  • tout += TOTAL;
  • /*try{
  • fw.write(TOTAL +" PlayLists générées dans "+args[i]+"\n");
  • fw.write("----------------------------------------------------------\n");
  • if (i==args.length-1){
  • fw.write("Total PlayLists générées " + tout + "\n\n");
  • }
  • fw.close();
  • }catch(IOException io){}*/System.out.println(compteur);
  • }
  • }
  • public File[] lister(File f){
  • File[] retour = f.listFiles();
  • return retour;
  • }
  • public void afficher(File[] list){
  • //CLEAR = false;
  • for (int i = 0; i < list.length; i++){
  • debut = i==0;
  • if (list[i].isDirectory()){
  • afficher(lister(list[i]));
  • }else{
  • this.morceau = list[i].getName();
  • if (morceau.endsWith(".mp3") || morceau.endsWith(".wma")||morceau.endsWith(".asx")
  • ){
  • String fic = list[i].getParent()+"\\"+souschaine(list[i]);
  • String morc=list[i].getParent()+"\\"+morceau;
  • System.out.println(morc);
  • ecrire(fic,morc);
  • history = fic;
  • }
  • }
  • }
  • COUNT++;
  • }
  • public void ecrire(String destination, String titre){
  • try{
  • /*fw = new FileWriter(drive+":\\rapport_list.txt",true);
  • if (debut) {
  • fw.write(destination + "\n");
  • System.out.println("Destination : "+destination);
  • TOTAL++;
  • }*/
  • //if ( CLEAR )
  • // this.fwrite = new FileWriter(destination,true);
  • //else
  • this.fwrite = new FileWriter("playlist.m3u",true);
  • fwrite.write(titre+"\n");
  • //CLEAR = true;
  • compteur++;
  • fwrite.close();
  • // System.out.println(compteur);
  • // fw.close();
  • }catch(IOException io){}
  • }
  • public String souschaine (File f){
  • String resultat = "";
  • String parent = f.getParent();
  • String parentParent = f.getParentFile().getParent();
  • resultat = parent.substring(parentParent.length()+1)+".m3u";
  • return resultat;
  • }
  • }
/********************************************************/
/*           Développé par Dorian Ganganelli            */
/*                 && Geoffroy Vigneron                 */        
/********************************************************/


import java.io.*;

public class PlayList{
  static boolean CLEAR = false;
  protected String dirFile;
  protected File[] fileList;
  public static long COUNT = 0;
  public static int compteur = 0;
  public String nouveauFichier;
  protected FileWriter fwrite;
  public static FileWriter fw;
  protected String morceau;
  protected String history=null;
  boolean debut = false;
  public static int TOTAL = 0;
  public static char drive = 'c';


  public PlayList(String racine){
    this.dirFile = racine;
    nouveauFichier = dirFile;
    this.fileList =lister( new File(dirFile));
    afficher(this.fileList);
  }

  public static void main(String[] args){
    drive = args[0].charAt(0);
    int tout = 0;
    for (int i=0 ; i<args.length;i++){
      TOTAL=0;
      //CLEAR = true;
      if (new File(args[i]).isDirectory())
        new PlayList(args[i]);
      tout += TOTAL;
      /*try{
        fw.write(TOTAL +" PlayLists générées dans "+args[i]+"\n");
        fw.write("----------------------------------------------------------\n");
         if (i==args.length-1){
           fw.write("Total PlayLists générées " + tout + "\n\n");
         }
           fw.close();
         }catch(IOException io){}*/System.out.println(compteur);
    }
  }

  public File[] lister(File f){
    File[] retour = f.listFiles();
    return retour;
  }

  public void afficher(File[] list){
    //CLEAR = false;
    for (int i = 0; i < list.length; i++){
      debut = i==0;
      if (list[i].isDirectory()){
        afficher(lister(list[i]));
      }else{
         this.morceau = list[i].getName();
        if (morceau.endsWith(".mp3") || morceau.endsWith(".wma")||morceau.endsWith(".asx")
            ){
          String fic = list[i].getParent()+"\\"+souschaine(list[i]);
          String morc=list[i].getParent()+"\\"+morceau;
          System.out.println(morc);
          ecrire(fic,morc);
                    
          history = fic;
        }
      }
    }
    COUNT++;
    
  }

  public void ecrire(String destination, String titre){
    try{
      /*fw = new FileWriter(drive+":\\rapport_list.txt",true);
      if (debut) {
        fw.write(destination + "\n");
        System.out.println("Destination : "+destination);
        TOTAL++;
      }*/
      //if ( CLEAR  )
     //   this.fwrite = new FileWriter(destination,true);
      //else
      this.fwrite = new FileWriter("playlist.m3u",true);
      fwrite.write(titre+"\n");
      //CLEAR = true;
      compteur++;
      fwrite.close();
    // System.out.println(compteur);	
     // fw.close();
    }catch(IOException io){}
  }

  public String souschaine (File f){
    String resultat = "";
    String parent = f.getParent();
    String parentParent = f.getParentFile().getParent();
    resultat = parent.substring(parentParent.length()+1)+".m3u";
    return resultat;
  }
}

Conclusion

Rien de bien compliqué pour comprendre le fonctionnement.
Remerciements : vivi57
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 décembre 2007 13:06:58 :
Copyright

Commentaires et avis

signaler à un administrateur
Commentaire de neodante le 24/04/2005 20:53:37 administrateur CS

Pour ce qui est des disques à parcourir, est-ce que l'énumération de tous les disques ne serait pas mieux ??? Surtout que cela ne prend que peu de temps à mettre en place ... File.listRoots() ...

++

signaler à un administrateur
Commentaire de shown le 26/04/2005 02:38:31

Oué après faut voir si tu préféres choisir les disques ou rechercher partout automatiquement comme tu dis... question de goût mais c'est vrai que ça aurait été mieux :)

signaler à un administrateur
Commentaire de stillfelil le 22/05/2005 00:49:29

G juste une petite remark sur le source
cé que certains testes oré pu etre abrégé
c concernant le teste "isDirectory()" , code auré pu etre abrégé en l'introduisant a l'interieur de "lister(File)" comme suite:
//-----
public static File[] lister(File dir)
{
if(dir.isDirectory())
  return dir.listFiles();
return null;
}
//------

signaler à un administrateur
Commentaire de gyomhdeus le 11/06/2006 19:37:50

le programme est classe mais la methode write dans
" fwrite.write(titre+"\n"); " me laisse perplexe, un petit coup de main pour sa compréhension ne serai pa de refus ;-)

signaler à un administrateur
Commentaire de zadji le 17/04/2009 22:54:27

Bonjours,

Je débute dans le java et je me mperd un tout petit peu. Je n'arrive pas à voir où je devrais passer en parramètre le chemin d'acces d'un dossier pour généré la playlist m3u.

Quelqu'u pourrait il m'aider, s'il vous plait ??

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

encoder en mp3 [ par cedkat ] bonjour je recherche de l'aide pour ecrire le code qui encode du son au format mp3 merci Jouer son mp3 [ par djbuch ] Comment puis-je dans une application faire jouer un son mp3, wav ?Merci David-Julian BUCH musique [ par canailles ] je cherche un site en francais pour telecharger de la musique et des films autres que kazaa Jouer une musique dans un prog Java [ par nounouX ] Voila je suis en train d'essayer de coder un Tetris java (sans applet), et j'aimerai bcp savoir jouer un son (mon fichier son s'appelle "Tertris.wav") Lecture d'un son au format MP3 [ par julio26 ] Bonjour à tous,Je souhaiterais lire un son MP3 lorsque je clique sur un bouton dans mon JPanel. Je sais lire les fichiers au format .wav mais pas les Jouer des mp3 [ par Zart ] Alors voilà je me suis attaqué à un gros projet, avec des amis.Et, en fait on voudrais faire une bibliothèque mp3, et bien évidemment je souhait jouer paroles à enregister sur mon MP3 [ par missmatt_euse62 ] bonjour,j'ai un MP3 de 256MB qui me demande d'avoir le LRC VO.2 pour formatter des paroles de multiples chansons pour les voir s'afficher sur mon MP3; Lecteur audio de preference mp3 [ par overbrave ] Salut a vous Dieu du code,Vous allez surement dire il chie dans la colle!rep : Mais nan, ( enfin si un peu ! ) c'est a cause d'un tr&#232;s grand &#23 Transmettre des info a winamp [ par Poulpx ] Voila je travail sur un projet de cr&#233;ation de liste MP3 et je voudrai savoir comment peut on transmettre une liste de MP3 a lire a winamp ou Wind Questions sur les Applets [ par GRenard ] Bonjour, J'ai plusieurs questions sur les applets que je n'arrive pas &#224; r&#233;soudre apr&#232;s des recherches un peu partout sur le web. Si vo


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.