MP3 - Lecture/Ecriture ID3tag - Delphi/Pascal - Programmation
Marsh Posté le 25-09-2006 à 09:15:00
Oublie windows, les specs de l'idtag 1.x c'est bien 30 cars max donc ça ne sert à rien d'aller au dela.
Marsh Posté le 28-09-2006 à 10:46:04
Comment se fait-il que l'on puisse mettre plus de 30 caractères si on utilise l'interface de windows ?
Les informations ne sont pas tronquées, il faut bien qu'elles soient à quelque part.
Y-aurrait-il une autre façon de sauvegarder ces informations que dans les ID3Tags que j'ai cité ci-dessus ?
Marsh Posté le 28-09-2006 à 11:05:55
ReplyMarsh Posté le 28-09-2006 à 11:09:07
Je sais que c'est une vraie merde à lire (car il n'est pas de taille fixe).
Tu dois pouvoir trouver comment le lire en faisant une recherche dans Google.
Ca me fait penser qu'il y avait un très bon site indiquant comment lire tous les formats de fichiers les plus connus, c'était bien pratique. Je sais pas s'il existe encore...
Marsh Posté le 28-09-2006 à 11:10:24
Tu devrais trouver ton bonheure là en fait...
http://www.id3.org/
Marsh Posté le 28-09-2006 à 11:44:45
MagicBuzz a écrit : Je sais que c'est une vraie merde à lire (car il n'est pas de taille fixe). |
C'est facile à lire et bien que ce ne soit pas de taille fixe, tu as un octet qui te donne la taille de l'info de l'ID tu TAG.
Red Viper>j'ai fait ça, c'est programmé en PureBasic mais ça pourrait te servir de base.
Marsh Posté le 28-09-2006 à 11:50:11
Merci les gars pour ces infos, il suffit que je m'y plonge dedant et je devrais pouvoir me débrouiller.
Marsh Posté le 28-09-2006 à 11:51:21
karlkox a écrit : C'est facile à lire et bien que ce ne soit pas de taille fixe, tu as un octet qui te donne la taille de l'info de l'ID tu TAG. |
yes, mais disons que la version 1 est quand même plus simple à lire
(en fait, c'est surtout pour écrire que c'est chiant)
Marsh Posté le 25-09-2006 à 07:42:52
Bonjour chers programmeurs,
J'aimerais modifier l'ID3Tag d'un fichier MP3.
J'ai trouvé pour lire les informations. En Delphi, ça donne ceci :
procedure TMP3.Charger(Const CheminFichier : String);
var
Buffer : array[1..128] of char;
Fichier : File;
begin
AssignFile(Fichier, CheminFichier);
Reset(Fichier, 1);
Seek(Fichier, FileSize(Fichier)-128);
BlockRead(Fichier, Buffer, SizeOf(Buffer));
CloseFile(Fichier);
Titre := Trim(copy(Buffer, 4, 30));
Artiste := Trim(copy(Buffer, 34, 30));
Album := Trim(copy(Buffer, 64, 30));
Annee := Trim(copy(Buffer, 94, 4));
Commentaire := Trim(copy(Buffer, 98, 30));
Genre := ord(Buffer[128]);
Piste := ord(Buffer[127]);
end;
Titre, Artiste, Album, Annee, Commentaire, Genre et Piste étant les attribut du type TMP3
Le problème maintenant est que je ne peux pas récupérer un titre plus long que 30 caractères, pourtant lorsque l'on change les ID3Tag directement dans Windows, on peut mettre autant de caractères que l'on veut.
Comment récupérer les informations complètes sans qu'elles soient tronquées ?
Merci pour votre aide.