Créateur de playlist mp3

Soyez le premier à donner votre avis sur cette source.

Vue 24 561 fois - Téléchargée 1 303 fois

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 / Exemple :


/********************************************************/
/*           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

Codes Sources

A voir également

Ajouter un commentaire Commentaires
zadji Messages postés 3 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 19 avril 2009
17 avril 2009 à 22:54
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 ??
gyomhdeus Messages postés 1 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 11 juin 2006
11 juin 2006 à 19:37
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 ;-)
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 3
22 mai 2005 à 00:49
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;
}
//------
cs_shown Messages postés 40 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 24 décembre 2007
26 avril 2005 à 02:38
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 :)
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
24 avril 2005 à 20:53
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() ...

++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.