Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3716 connectés 

 


Dernière réponse
Sujet : [C] Récupérer l'ID3 d'un mp3 ?
godbout

darklord22 a écrit a écrit :

je vais vous dire un truc. Je vous admire vous programmeurs C/C++. Faut vraiment etre balèze pour faire des trucs pareils ...
 
Chapeau (c pas ironique).
 
A+  




 
Le tout c'est pas d'etre baleze c'est de comprendre ;)
 
Mais bon pour comprendre faut etre baleze hein :D
 
(je parle sans connaissance de causes, je fais pas partie des masters du C/C++)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
godbout

darklord22 a écrit a écrit :

je vais vous dire un truc. Je vous admire vous programmeurs C/C++. Faut vraiment etre balèze pour faire des trucs pareils ...
 
Chapeau (c pas ironique).
 
A+  




 
Le tout c'est pas d'etre baleze c'est de comprendre ;)
 
Mais bon pour comprendre faut etre baleze hein :D
 
(je parle sans connaissance de causes, je fais pas partie des masters du C/C++)

darklord22 je vais vous dire un truc. Je vous admire vous programmeurs C/C++. Faut vraiment etre balèze pour faire des trucs pareils ...
 
Chapeau (c pas ironique).
 
A+
antp j'utilise pourtant l'id3v1.1 avec cette fonction...  
 
ouais c'est le dernier caractère du comment en fait.
dans mon code plus loin je l'extrayais de la structure, mais j'ai pas mis cette partie-là dans mon post, pour pas effrayer les lecteurs :
 
strDest=StringReplace(strDest,"%7",(AnsiString)((int)((unsigned char)mp3TAG.Comment[sizeof(mp3TAG.Comment)-1])),TReplaceFlags()<<rfIgnoreCase<<rfReplaceAll);
 
il remplace %7 par le track number qui est dans le dernier octet du commentaire.
zeltron

antsite a écrit a écrit :

et bien merci beaucoup !  




 
Le problème c'est que le bout de code qu'il t'a refilé ne gère que l'ID3v1.0,  Fait attention car si tu ne fais pas attention  le champ track de l'ID3v1.1 va être perdu et le "comment" que tu vas obtenir  va être foireux.

Ace17 Ben moi j'avais utilisé un truc tout fait :
http://home.swipnet.se/grd/mp3info/mp3doc.html
antp un truc que j'ai oublié :  
les chaines qui sont dans la structure ne sont pas terminée par un \0, donc faut faire gaffe quand on les exploite.
antsite et bien merci beaucoup !
antp un bout de code extrait d'un soft à moi :

Code :
  1. TMP3TAG mp3TAG;
  2.      memset((void *)&mp3TAG,0,sizeof(mp3TAG));
  3.      TFileStream  *fMP3 = new TFileStream(strSource,fmOpenRead);
  4.      if(fMP3==NULL) return result;
  5.      fMP3->Seek(-128,soFromEnd);
  6.      if(fMP3->Read((void *)&mp3TAG,sizeof(mp3TAG))<sizeof(mp3TAG)) {
  7.           delete fMP3;
  8.           return result;
  9.      }
  10.      delete fMP3;


 
donc ceci remplit la structure. Et pour la definition de la structure :
 

Code :
  1. struct TMP3TAG {
  2.      char TAG[3];
  3.      char Title[30];
  4.      char Author[30];
  5.      char Album[30];
  6.      char Year[4];
  7.      char Comment[30];
  8.      char Genre;
  9. };
  10. char TMP3Genres[][20]={
  11.      "Blues",
  12.      "Classic Rock",
  13.      "Country",
  14.      "Dance",
  15.      "Disco",
  16.      "Funk",
  17.      "Grunge",
  18.      "Hip-Hop",
  19.      "Jazz",
  20.      "Metal",
  21.      "New Age",
  22.      "Oldies",
  23.      "Other",
  24.      "Pop",
  25.      "R&B",
  26.      "Rap",
  27.      "Reggae",
  28.      "Rock",
  29.      "Techno",
  30.      "Industrial",
  31.      "Alternative",
  32.      "Ska",
  33.      "Death Metal",
  34.      "Pranks",
  35.      "Soundtrack",
  36.      "Euro-Techno",
  37.      "Ambient",
  38.      "Trip-Hop",
  39.      "Vocal",
  40.      "Jazz+Funk",
  41.      "Fusion",
  42.      "Trance",
  43.      "Classical",
  44.      "Instrumental",
  45.      "Acid",
  46.      "House",
  47.      "Game",
  48.      "Sound Clip",
  49.      "Gospel",
  50.      "Noise",
  51.      "AlternRock",
  52.      "Bass",
  53.      "Soul",
  54.      "Punk",
  55.      "Space",
  56.      "Meditative",
  57.      "Instrumental Pop",
  58.      "Instrumental Rock",
  59.      "Ethnic",
  60.      "Gothic",
  61.      "Darkwave",
  62.      "Techno-Industrial",
  63.      "Electronic",
  64.      "Pop-Folk",
  65.      "Eurodance",
  66.      "Dream",
  67.      "Southern Rock",
  68.      "Comedy",
  69.      "Cult",
  70.      "Gangsta",
  71.      "Top 40",
  72.      "Christian Rap",
  73.      "Pop/Funk",
  74.      "Jungle",
  75.      "Native American",
  76.      "Cabaret",
  77.      "New Wave",
  78.      "Psychadelic",
  79.      "Rave",
  80.      "Showtunes",
  81.      "Trailer",
  82.      "Lo-Fi",
  83.      "Tribal",
  84.      "Acid Punk",
  85.      "Acid Jazz",
  86.      "Polka",
  87.      "Retro",
  88.      "Musical",
  89.      "Rock & Roll",
  90.      "Hard Rock",
  91.      "Folk",
  92.      "Folk/Rock",
  93.      "National Folk",
  94.      "Swing",
  95.      "Fast Fusion",
  96.      "Bebob",
  97.      "Latin",
  98.      "Revival",
  99.      "Celtic",
  100.      "Bluegrass",
  101.      "Avantgarde",
  102.      "Gothic Rock",
  103.      "Progressive Rock",
  104.      "Psychedelic Rock",
  105.      "Symphonic Rock",
  106.      "Slow Rock",
  107.      "Big Band",
  108.      "Chorus",
  109.      "Easy Listening",
  110.      "Acoustic",
  111.      "Humour",
  112.      "Speech",
  113.      "Chanson",
  114.      "Opera",
  115.      "Chamber Music",
  116.      "Sonata",
  117.      "Symphony",
  118.      "Booty Bass",
  119.      "Primus",
  120.      "Porn Groove",
  121.      "Satire",
  122.      "Slow Jam",
  123.      "Club",
  124.      "Tango",
  125.      "Samba",
  126.      "Folklore",
  127.      "Ballad",
  128.      "Power Ballad",
  129.      "Rhythmic Soul",
  130.      "Freestyle",
  131.      "Duet",
  132.      "Punk Rock",
  133.      "Drum Solo",
  134.      "Acapella",
  135.      "Euro-House",
  136.      "Dance Hall"
  137. };

 

[edtdd]--Message édité par antp--[/edtdd]

antsite Je n'avais pas réellement de projet précis en tête, je souhaitais juste essayer, alors c pas vital pour moi pour l'instant  :)
darklord22

antsite a écrit a écrit :

Ca m'a l'air un peu compliqué, je crois que je vais laisser tomber, enfin merci quand même
a+
 :hello:  




 
bah te décourage pas ... ;)
c'est bête ...

antsite Ca m'a l'air un peu compliqué, je crois que je vais laisser tomber, enfin merci quand même
a+
 :hello:
zeltron

darklord22 a écrit a écrit :

 
 
suffit de connaitre la spec de l'ID3 pour savoir quel bytes lire...  
 
A+  




 
 
oui enfin bon c'est plus facile à dire qu'à faire car si c'est enfantin avec l'ID3v1 bonne chance pour l'ID3v2 !
 
une seule adresse : http://www.id3.org

antsite je suis un peu newbie et je sais pas trop comment faire !
darklord22

antsite a écrit a écrit :

Salut,
je souhaite récupérer l'ID3 d'un mp3. Quelqu'un sait-il comment faire, y a-t-il une structure qui détient toutes les infos et il n'y a plus qu'à la lire ?
merci  




 
suffit de connaitre la spec de l'ID3 pour savoir quel bytes lire...  
 
A+

antsite Salut,
je souhaite récupérer l'ID3 d'un mp3. Quelqu'un sait-il comment faire, y a-t-il une structure qui détient toutes les infos et il n'y a plus qu'à la lire ?
merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)