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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Mp3 et Tags Id3

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mp3 et Tags Id3

n°407022
Crazy-Eagl​e
Posté le 25-05-2003 à 12:55:52  profilanswer
 

Salut,
 
J'aimerais savoir comment faire pour récupérer le contenu des tags id3 d'un fichier mp3.
 
Sous forme de tableau ? I don't know :)
 
Merci  :)

mood
Publicité
Posté le 25-05-2003 à 12:55:52  profilanswer
 

n°407024
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 12:58:48  profilanswer
 

Faut lire les 128 derniers octets dans une structure.
 
Fonction que j'utilise dans mon soft Ant Renamer :  
 
www.antp.be/temp/ExtractID3.pas
 
(faudra faire un peu de ménage dedans pour l'utiliser)


Message édité par antp le 25-05-2003 à 13:00:16

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°407028
Crazy-Eagl​e
Posté le 25-05-2003 à 13:04:18  profilanswer
 

Merci mais je ne connais pas tout dans ton fichier :
 
Si j'ai un fichier mp3 (c:\media\fichier.mp3) et que je veux stocker sa taille dans une variable (longueur), l'artiste et son titre dans deux autres variables (artiste, titre), je fais comment ?

n°407034
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 13:26:42  profilanswer
 

tu déclares une variable de type TID3Info que tu passes à la fonction, ainsi que le nom de fichier, après tu utilises les champs que tu veux


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°407056
Crazy-Eagl​e
Posté le 25-05-2003 à 14:15:58  profilanswer
 

Il me manque des fichiers avec ce .pas ...
 
[Fatal Error] ExtractID3.pas(203): File not found: 'functions_files.dcu'

n°407058
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 14:24:04  profilanswer
 

Ouais mais ça tu t'en fous, tu le vires, comme j'ai dit faut un peu nettoyer. C'est un fichier parmis les nombreux fichiers d'un programme...  
Idem pour ce qui est dans les {$IFDEF}, tu ne dois garder que ce qui est dans les {$ELSE} vu que tu n'utilises probablement pas d'unicode...


Message édité par antp le 25-05-2003 à 14:24:23

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°407079
Crazy-Eagl​e
Posté le 25-05-2003 à 15:15:09  profilanswer
 

Merci bien ca marche mais j'ai encore qques petites questions...
 
Mon projet est tout simplement un lecteur mp3 ... et cela concerne l'ajout de fichiers dans une playlist. Je dois pour bien faire avoir chaque item de la liste sous forme "Artiste - Titre [LongueurPiste]". Je ne vois pas comment récupérer la longueur de chaque piste ... ou alors en ouvrant chaque fichier et avec la propriété MediaPlayer1.Lenght... mais c est tres fastidieux et tres long (j'ai testé)... Alors n'y a-t-il pas moyen de trouver cette longueur de piste via Id3 ?

n°407080
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 15:18:57  profilanswer
 

C'est pas stocké dans l'ID3, et je pense que ce n'est stocké nulle part, il faut mesurer la longueur ou la calculer. Pour la calculer il faut le bitrate, je sais pas s'il est stocké ou mesuré lui aussi :D
Pour la mesurer, il faut (je suppose) parcourir tout le fichier, mais vu que je ne connais pas plus la structure des MP3, je ne sais pas t'aider plus [:spamafote]
Mais il doit bien y avoir des tas de composants ou exemples de code qui font ça...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°407085
Crazy-Eagl​e
Posté le 25-05-2003 à 15:21:05  profilanswer
 

J'ai fait ceci :
 

Code :
  1. // Ouverture d'un / plusieurs fichier(s)
  2. procedure TForm1.OuvrirClick(Sender: TObject);
  3. var
  4. i, longueur, ms, m, s: integer;
  5. ToAdd: string;
  6. begin
  7.   OpenDialog1.Execute;
  8.   for i:=0 to OpenDialog1.Files.Count-1 do
  9.     begin
  10.       Media.FileName:=OpenDialog1.Files[i];
  11.       Media.Open;
  12.       longueur:=Media.Length;
  13.       ms:=longueur div 1000;   //
  14.       m:=ms div 60;            //  Calcul de
  15.       s:=ms-m*60;              //  la longueur
  16.       if s < 10 then s:=0+s;   //
  17.       ToAdd:='[ '+IntToStr(m)+':'+IntToStr(s)+' ] '+ExtractFileName(OpenDialog1.Files[i]);
  18.       ListBox1.Items.Add(ToAdd);  // ajout final
  19.       Media.Close;
  20.     end;
  21. end;


 
Mais qu'est ce que c'est long et lent ... (avec un p4 2.4ghz ...)

n°407087
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 15:23:14  profilanswer
 

bah oui, c'est normal que ce soit lent :/
 
Sinon quand tu écris
ToAdd:='[ '+IntToStr(m)+':'+IntToStr(s)+' ] '+ExtractFileName(OpenDialog1.Files[i]);
C'est plus clair de faire
ToAdd := Format('[ %d:%.2d ] %s, [m, s, ExtractFileName(OpenDialog1.Files[i])]);


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 25-05-2003 à 15:23:14  profilanswer
 

n°407091
Crazy-Eagl​e
Posté le 25-05-2003 à 15:25:56  profilanswer
 

c'est lent mais je trouve pas  :whistle:  
 
Je continue mes investiguations si je trouve je fais signe  
 
:hello:

n°407098
Crazy-Eagl​e
Posté le 25-05-2003 à 15:44:22  profilanswer
 

Hum ... on remarquera que lorsqu'on fait Alt+3 sous Winamp pour voir les propriétés du fichier sélectionné, la longueur ne se trouve pas avec les propriétés Id3 mais dans le cadre MPEG infos ...
 
Reste plus qu'a trouver ou écrire une fonction pour récuperer ces infos ...
 
(G mal a la tete :D)

n°407107
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 15:59:18  profilanswer
 

Crazy-Eagle a écrit :

la longueur ne se trouve pas avec les propriétés Id3 mais dans le cadre MPEG infos ...


 
C'est ce que je disais :D idem pour le bitrate


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°407119
Crazy-Eagl​e
Posté le 25-05-2003 à 16:13:13  profilanswer
 

Bah ué ... j'ai trouvé des trucs sur torry's Delphi mais c'est pas tres convainquant ... tu saurais me trouver ca ?  :whistle:

n°407222
Crazy-Eagl​e
Posté le 25-05-2003 à 19:49:39  profilanswer
 

Bon j'ai trouvé une unit qui pourrait m'aider seulement c est pour delphi1 - 3 et avec la version 6 j'ai une dixaine d'erreurs ... Il y a-t-il moyen de l'adapter ?

n°407226
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-05-2003 à 19:52:58  profilanswer
 

Ça dépend des erreurs [:spamafote]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°407315
Crazy-Eagl​e
Posté le 25-05-2003 à 21:56:48  profilanswer
 

[Warning] MPGTOOLS.PAS(1361): Method 'Clear' hides virtual method of base type 'TList'
[Warning] MPGTOOLS.PAS(2555): Symbol 'FileGetAttr' is specific to a platform
[Warning] MPGTOOLS.PAS(2591): Symbol 'FileGetAttr' is specific to a platform
[Warning] MPGTOOLS.PAS(2615): Symbol 'FileGetAttr' is specific to a platform
[Error] MPGTOOLS.PAS(3156): Incompatible types: 'TList' and 'Text'
[Error] MPGTOOLS.PAS(3156): Incompatible types: 'TListAssignOp' and 'String'
[Error] MPGTOOLS.PAS(3530): Left side cannot be assigned to
[Error] MPGTOOLS.PAS(3541): Incompatible types: 'TList' and 'file'
[Error] MPGTOOLS.PAS(3541): Incompatible types: 'TListAssignOp' and 'String'
 
A mon avis ca doit rien vous dire comme ca  :lol:  
 
Des que mon ftp sera a nouveau up je vous donnerai le *.pas que vous puissiez m'aider :D
 
Merci ;)
 
 

n°410181
Ciler
Posté le 28-05-2003 à 11:22:00  profilanswer
 

BlackSUn a une bonne dose de source pour lire les tags et proprietes des fichiers multimedia, contacte le en MP pour voir.


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Mp3 et Tags Id3

 

Sujets relatifs
[DOCS] Le MP3 comment ca marche ?[XML] correspondance entre les tags html et xml ?
Comment ouvrir des MP3 et des midi XG en directxune classe MP3 sous java
[PHP] meta tagsComment faire pour savoir le player de Mp3 par défaut ?
Recrutement un pros de la 2d et 3d si ya .. un pro du MP3, Midi ....MP3 caca
[JSP Custom Tags] Quel outil pour la doc ?[html] référencement : tags META et RDF
Plus de sujets relatifs à : Mp3 et Tags Id3


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR