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 !

TRANSFORMER LES .RBS DE RADIOBLOGCLUB EN .MP3


Information sur la source

Catégorie :Chaîne de caractères Classé sous : rbs, mp3, radioblogclub Niveau : Débutant Date de création : 07/05/2007 Date de mise à jour : 05/06/2007 22:41:16 Vu / téléchargé: 7 388 / 164

Note :
Aucune note

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

Description

Bonjour,
Ceci est mon premier code(je suis debute en C et je suis en premiere annee de FAC), il renomme les .rbs(ou[x].rbs) en .mp3 et enleve tous les %20.
Je poste juste pour avoir de critiques sur le code(exemple:trop de fonctions dans le main ,etc...)
edit:V2 du programme avec un menu vite fabriquer et la posibilite de resampler ces mp3(pour une meilleur compatibilite avec les lecteurs audio et la gravure des cd audio)
Le fichier Lame.exe doit etre au meme endroit que le fichier compile
Merci
PS:je cherche comment acceder au fichiers cache de IE en C, merci
 

Source

  • #include "fonctions.h"
  • int main(int argc, char **argv)
  • {
  • repertoire_lancement(argv[0]);
  • int choix1=0;
  • int choix2=0;
  • while(0 >= choix1 || choix1 >=5)
  • {
  • printf("--------------------------------------Menu--------------------------------------\n");
  • printf("------------------------------------Principal-----------------------------------\n");
  • printf("------------------RBS-MP3 modifer(le nom est vraiment nul je sait)--------------\n");
  • printf("-----------------------------Fait par corentin1234------------------------------\n");
  • printf("Dossier : %s\n",argv[0]);
  • printf("Que faire ? Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
  • printf("1- Renommer et resampler\n");
  • printf("2- Renommer\n");
  • printf("3- Resampler\n");
  • printf("4- Sortir\n");
  • printf(">>>");
  • scanf("%d",&choix1);
  • system("Cls");
  • choix2=0;
  • while((1 >= choix1 || choix1 <=3) && (0 >= choix2 || choix2 >= 5))
  • {
  • if(choix1 == 1)
  • {
  • printf("--------------------------------------Menu--------------------------------------\n");
  • printf("------------------------------Renommer et resampler------------------------------\n");
  • printf("Que faire ? Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
  • printf("1- RBS et MP3\n");
  • printf("2- RBS\n");
  • printf("3- MP3\n");
  • printf("4- Retour au menu principal\n");
  • printf(">>>");
  • scanf("%d",&choix2);
  • system("Cls");
  • }
  • else if(choix1 == 2)
  • {
  • printf("--------------------------------------Menu--------------------------------------\n");
  • printf("------------------------------------Renommer------------------------------------\n");
  • printf("Que faire ? Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
  • printf("1- RBS et MP3\n");
  • printf("2- RBS\n");
  • printf("3- MP3\n");
  • printf("4- Retour au menu principal\n");
  • printf(">>>");
  • scanf("%d",&choix2);
  • system("Cls");
  • }
  • else if(choix1 == 3)
  • {
  • printf("--------------------------------------Menu--------------------------------------\n");
  • printf("------------------------------------Resampler-----------------------------------\n");
  • printf("Que faire ? Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
  • printf("1- RBS et MP3\n");
  • printf("2- RBS\n");
  • printf("3- MP3\n");
  • printf("4- Retour au menu principal\n");
  • printf(">>>");
  • scanf("%d",&choix2);
  • system("Cls");
  • }
  • if(choix2 == 4)
  • choix1=0;
  • }
  • }
  • system("dir /AA > zzzzz.txt");//liste le repertoire et stock dans zzzzz.txt les z sont la pour que ce soit le dernier fichier
  • if(choix1 == 1)
  • {
  • if(choix2 == 1)
  • {
  • resampler_rbs(argv[0]);
  • resampler_mp3(argv[0]);
  • system("dir /AA > zzzzz.txt");//liste le repertoire et stock dans zzzzz.txt les z sont la pour que ce soit le dernier fichier
  • renomme_rbs(argv[0]);
  • system("dir /AA > zzzzz.txt");//liste le repertoire et stock dans zzzzz.txt les z sont la pour que ce soit le dernier fichier
  • renomme_mp3(argv[0]);
  • }
  • else if(choix2 == 2)
  • {
  • resampler_rbs(argv[0]);
  • renomme_rbs(argv[0]);
  • }
  • else if(choix2 == 3)
  • {
  • resampler_mp3(argv[0]);
  • renomme_mp3(argv[0]);
  • }
  • }
  • else if(choix1 == 2)
  • {
  • if(choix2 == 1)
  • {
  • renomme_rbs(argv[0]);
  • renomme_mp3(argv[0]);
  • }
  • else if(choix2 == 2)
  • {
  • renomme_rbs(argv[0]);
  • }
  • else if(choix2 == 3)
  • {
  • renomme_mp3(argv[0]);
  • }
  • }
  • else if(choix1 == 3)
  • {
  • if(choix2 == 1)
  • {
  • resampler_rbs(argv[0]);
  • resampler_mp3(argv[0]);
  • }
  • else if(choix2 == 2)
  • {
  • resampler_rbs(argv[0]);
  • }
  • else if(choix2 == 3)
  • {
  • resampler_mp3(argv[0]);
  • }
  • }
  • system("del zzzzz.txt");
  • return 0;
  • }
#include "fonctions.h"

int main(int argc, char **argv)
{
    repertoire_lancement(argv[0]);

    int choix1=0;
    int choix2=0;
    while(0 >= choix1 || choix1 >=5)
    {
        printf("--------------------------------------Menu--------------------------------------\n");
        printf("------------------------------------Principal-----------------------------------\n");
        printf("------------------RBS-MP3 modifer(le nom est vraiment nul je sait)--------------\n");
        printf("-----------------------------Fait par corentin1234------------------------------\n");
        printf("Dossier : %s\n",argv[0]);
        printf("Que faire ?  Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
        printf("1- Renommer et resampler\n");
        printf("2- Renommer\n");
        printf("3- Resampler\n");
        printf("4- Sortir\n");
        printf(">>>");
        scanf("%d",&choix1);
        system("Cls");
        choix2=0;
        while((1 >= choix1 || choix1 <=3) && (0 >= choix2 || choix2 >= 5))
        {
            if(choix1 == 1)
            {
            printf("--------------------------------------Menu--------------------------------------\n");
            printf("------------------------------Renommer et resampler------------------------------\n");
            printf("Que faire ?  Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
            printf("1- RBS et MP3\n");
            printf("2- RBS\n");
            printf("3- MP3\n");
            printf("4- Retour au menu principal\n");
            printf(">>>");
            scanf("%d",&choix2);
            system("Cls");
            }
            else if(choix1 == 2)
            {
            printf("--------------------------------------Menu--------------------------------------\n");
            printf("------------------------------------Renommer------------------------------------\n");
            printf("Que faire ?  Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
            printf("1- RBS et MP3\n");
            printf("2- RBS\n");
            printf("3- MP3\n");
            printf("4- Retour au menu principal\n");
            printf(">>>");
            scanf("%d",&choix2);
            system("Cls");
            }
            else if(choix1 == 3)
            {
            printf("--------------------------------------Menu--------------------------------------\n");
            printf("------------------------------------Resampler-----------------------------------\n");
            printf("Que faire ?  Taper 1,2,3 ou 4 suivi de entrer pour valider\n");
            printf("1- RBS et MP3\n");
            printf("2- RBS\n");
            printf("3- MP3\n");
            printf("4- Retour au menu principal\n");
            printf(">>>");
            scanf("%d",&choix2);
            system("Cls");
            }
            if(choix2 == 4)

                choix1=0;
        }
    }


    system("dir /AA > zzzzz.txt");//liste le repertoire et stock dans zzzzz.txt les z sont la pour que ce soit le dernier fichier

    if(choix1 == 1)
    {
        if(choix2 == 1)
        {
            resampler_rbs(argv[0]);
            resampler_mp3(argv[0]);
            system("dir /AA > zzzzz.txt");//liste le repertoire et stock dans zzzzz.txt les z sont la pour que ce soit le dernier fichier
            renomme_rbs(argv[0]);
            system("dir /AA > zzzzz.txt");//liste le repertoire et stock dans zzzzz.txt les z sont la pour que ce soit le dernier fichier
            renomme_mp3(argv[0]);
        }
        else if(choix2 == 2)
        {
            resampler_rbs(argv[0]);
            renomme_rbs(argv[0]);
        }
        else if(choix2 == 3)
        {
            resampler_mp3(argv[0]);
            renomme_mp3(argv[0]);
        }
    }

    else if(choix1 == 2)
    {
        if(choix2 == 1)
        {
            renomme_rbs(argv[0]);
            renomme_mp3(argv[0]);
        }
        else if(choix2 == 2)
        {
            renomme_rbs(argv[0]);
        }
        else if(choix2 == 3)
        {
            renomme_mp3(argv[0]);
        }
    }


    else if(choix1 == 3)
    {
        if(choix2 == 1)
        {
            resampler_rbs(argv[0]);
            resampler_mp3(argv[0]);
        }
        else if(choix2 == 2)
        {
            resampler_rbs(argv[0]);
        }
        else if(choix2 == 3)
        {
            resampler_mp3(argv[0]);
        }
    }

  system("del zzzzz.txt");
  return 0;
}

Conclusion

Les remarques sont toujours les bienvenue, c'est la premiere fois que je fait un programme a plusieurs fichiers
 

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

08 mai 2007 21:33:05 :
Nouvelle version avec resample des mp3 en plus et un menu
05 juin 2007 22:41:16 :
Rajout du fichier compiler rennommer le .exd en .exe

Commentaires et avis

signaler à un administrateur
Commentaire de BruNews le 07/05/2007 11:40:13 administrateur CS

Salut,

le prends pas mal mais quand on débute on étudie les codes publiés plutot que de publier, c'est dans l'ordre des choses.

Il faut utiliser les pointeurs plutot que l'indexation. La taille d'une instruction indexée (a = s[i] par exemple) est supérieure à a = *c. Une boucle sera d'autant plus rapide qu'elle tiendra en cache sinon badaboum les perfs.

Bonne continuation.

signaler à un administrateur
Commentaire de corentin1234 le 07/05/2007 11:44:47

Merci
Je le prends pas mal, comme je le dit plus heut tout commentaire est bon a prendre, le probleme c'est qu'a l'universite on nous apprend le C standard et quand on regarde sur internet, il y a tres peu de programme en C standard(souvent du C++)donc j'essaie de comprendre mais c'est dur.
Pour les instructions indexee, en cours on nous as dit que s[i]==*(s+i) c'est surement qu'il voulait nous complique les choses.

signaler à un administrateur
Commentaire de BruNews le 07/05/2007 12:03:25 administrateur CS

ben oui s[i]==*(s+i), c'est clair et c'est bien de l'indexé.
mov al, [esi] ; NON indexé
add esi, 1

mov al, [esi + edx] ; INDEXE, INSTRUCTION LONGUE
add edx, 1

Exemple NON indexé:
char* Copie(char *dst, char *src)
{
  while(*dst = *src++) dst++;
  return dst; // PRET POUR AUTRES CONCAT
}

signaler à un administrateur
Commentaire de Shromilder le 07/05/2007 15:59:55

euh...
lui sortir du code assembleur alors qu'il est juste entrain d'apprendre le C je pense pas qu'il va piger qqchose.
Deja que moi je code en C/C++ depuis plusieurs années et j'ai jamais touché à de l'assembleur (enfin juste un peu mais pas comme celui la).
Avant de faire du 'tunning' faut deja savoir les bases donc je pense pas qu'il en soit à améliorer les prefs ;)
Mais perso, j'aimerai bien m'y mettre à l'assembleur pour arriver vers ton niveau de compréhension :)

signaler à un administrateur
Commentaire de corentin1234 le 07/05/2007 16:43:03

En f ait le seul truc que j'ai compris, c'est que quand c'est indexer, il ya une addition qui s'ajoute, soit n instructions suplementaire a la fin de la boucle

signaler à un administrateur
Commentaire de Kirua le 08/05/2007 13:50:37

C'est du chipot...

Sinon, concernant le programme en soi, si le rbs n'est que du mp3, pourquoi il a cette extension ridicule?

signaler à un administrateur
Commentaire de corentin1234 le 08/05/2007 15:04:23

les rbs sont utilises par radioblogclub surement pour ne pas qu'on leur piquent, les rbs sont bien du mp3 mais sur certains il y a des problemes,il suffit de resampler le mp3(le programme ci dessus ne le fait pas)dans la prochiane version en plus de renommer il y aura resample

signaler à un administrateur
Commentaire de Cyberboy2054 le 08/05/2007 21:17:17

heu... tant qu'à utiliser system, j'ai une proposition

int main ()
{
system ("ren *.rbs *.mp3");
return 0;
}

:p

signaler à un administrateur
Commentaire de Cyberboy2054 le 08/05/2007 21:20:00

D'ailleurs au passage quand je récupere des trucs sur radio blog club en grande quantités (ce qui arrive de moins en moins souvent vu la qualité), je fais un fichier plop.bat dans le repertoire à renommer avec ren *.rbs *.mp3 et ca marche très bien
(Désolé pour le double post, ya pas de fonction éditer ?)

signaler à un administrateur
Commentaire de corentin1234 le 08/05/2007 21:27:50

en fait au depart je voulait juste m'exercer en c, j'ai un exam Lundi
La je vient de faire une autre version qui modifie les mp3(ca utilise lame,un editeur de mp3)ca permet de pouvoir les lire correctement avec bsplayer ou windowsmediaplayer(avec vlc aucun probleme)et permet aussi la gravure de cdaudio avec nero qui double le temps des pistes audio(si on ouvre la pluspart des fichiers avec nerowaveeditor on remarque que le temps est double et que la deuxieme partie est vide)
Il suffit juste de resampler le mp3, mais comme tu le dit on peut faire ca avec un .bat
PS:ren "*.rbs *.mp3" n'enleve pas les %20 ni les [1] quand ont les prend depuis le repertoire fichiers internet temporaire(je sait plus comment il s'appelle.
PS2:La version 2 c'est vraiment du bricolage parci parla mais ca marche

signaler à un administrateur
Commentaire de Kirua le 08/05/2007 21:45:13

pour les %20: urldecode(text) et tu choperas tous les codes 'bizarres'. En réalité, c'est % suivi d'un code hexadécimal sur deux caractères. 20 = 32 en base 16, et 32 c'est l'espace en ASCII.

signaler à un administrateur
Commentaire de Cyberboy2054 le 08/05/2007 22:05:02

Je ne connais pas ta méthode pour récupérer les .rbs, mais perso je les récupère directement dans les répertoires où ils sont stockés sur le serveur donc ils ont un nom normal et pas de caractères bizarres (mais c'est de moins en moins faisable, les répertoires étant de plus en plus souvent protégés via des .htaccess ou autres joyeusetés... mais on sort du cadre de ton programme).

signaler à un administrateur
Commentaire de Kirua le 08/05/2007 22:57:25

les .htaccess, c'est jouable si tu fais tes requêtes HTTP toi-même: c'est juste des en-têtes supplémentaires avec id/mdp (mais crypté le mdp, quoique tu peux hardcoder le mdp crypté).

Au temps pr moi concernant urlencode: c'est en PHP ;)

signaler à un administrateur
Commentaire de corentin1234 le 08/05/2007 23:00:40

ma methode constite juste a attendre que la chansons soient precharger et a aller la chercher le repertoire temp de IE(outils->option internet->dans la section historique de navigation selectionner parametre->afficher les fichiers,) et la classe par taille pour avoir les chansons en haut et un copier-coller
marche a 100% et partout(meme les videos de youtube)

signaler à un administrateur
Commentaire de goose214 le 05/06/2007 22:28:15

Comment on utilise ce programme, une fois que j'ai le fichier dézipper, j'ai seulement des documents texte et qques doc que je ne peux pas ouvrir ?

signaler à un administrateur
Commentaire de corentin1234 le 05/06/2007 22:37:20

Je n'ai pas mis le programme compiler, il faut le compiler soi-meme, mais je vait le rajouter

signaler à un administrateur
Commentaire de goose214 le 06/06/2007 14:40:12

C'est bon çà marche nickel !!!
J'ai renommer le radioblog.exd en .exe    ^^
Merci pour ton programme et pour ton aide ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

MP3 [ par Berserk666 ] Bonjourchui arrivé a lire des MP3 avec mciSendString, mais tjs avec cette méthode,je cherche comment savoir qd unMP3 est fini de lire ?Merci @+ MP3 sous DOS [ par Manson ] salut à tous,j'aimerais faire un prog qui lit les MP3 sous DOS. Mais mon pb, c'est que la fonction que j'utilise sous Windows ne tourne pas sous DOS, Lire un wav et un mp3 sur linux avec gcc !! [ par UncleShu ] Merci d'avance !! in_mp3.dll +HELP [ par Manson ] Salut a tous,voila, la dll in_mp3.dll renferme les fonctions necessaaire au decodage de mp3. Je n'arrive pas a trouver ces fonctions sur le net, et po pointeur non initialisé [ par arc59 ] J'ai créé un programme qui permet de lire les tag des fichiers MP3. Ce programme utilise une structure de pointeurs vers des char. Les tag d'un fichie mp3 [ par phpman ] Bonjour,Je voudrai savoir comment utiliser les mci pour lire des mp3 sous vc++6 (mfc) parce que jusque là j'ai 1 warning a la compilation...alors sous recuperer la duree d'un mp3 [ par tich ] Bonjour à tous !mon problème est le suivant :je voudrais récupérer la durée d'un mp3 sans passer par les api de windows. Je voudrais que mon code soit recuperer la duree d'un mp3 : COMMENT FAIRE ????? [ par tich ] Bonjour,est-ce que quelqu'un aurait un moyen de recupérer la duree d'un mp3 sans passer par les api de windows ou MFC etc ...seulement avec un algo et Fonction recherche en C++ [ par Ciol ] Salut a tous J ai bien lu les differents messages deposés par les 3 habitués du Chat et je ne souhaite donc pas trouver une solution tte faite pour m


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 : 1,700 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é.