Page 1 sur 3

Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 11:22
par Parole De JOJO
j'ai deja demande cette question il y a quelques mois et je n'ai pas trouve de reponses satisfaisantes
comment lire et ecrire les tags des fichiers mp3?
j'ai ecrit un prog il y a un moment qui gere les fichiers mp3, mais gerer les tags je n'ai pas reussi car il me manquait une procedure pour le faire
en fait il faut savoir comment lire la longueur precise du tag, comment retrouver le tag voulu (TALB pour le nom d'album etc) et comment le rennomer (en sachant que si il n'a pas la meme longueur il faut changer plusieurs donnes sur le tag)
bref si quelqun peut me depanner ce serait tres sympa


merci

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 12:06
par Backup
.....................

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 14:52
par Backup
voici comment lire les Tag MP3 : :)

t'as plus qu'a faire pareil pour ecrire !! ;)
pas de problemes de longueur, puisque les tags sont constitué de Champs de 30 octets chacun

donc, ça permet d'ecrire ou de lire les 30 octets , pour le titre, l'interprete...
que ce champ soit rempli ou pas !

ce sont bien sur des segments de longueur définis, que l'on travail ;)

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 17:15
par Parole De JOJO
dobro, tu fais erreur
les tags ne se trouvent pas seulement a la fin du fichier. ceux de la fin sont tres faciles a manipuler puisque comme tu le dis il mesurent que 30
les tags ID3 se trouvent au debut du file et c'est pas facile de les traiter

http://www.purebasic.fr/french/viewtopi ... =1&t=10758
http://www.purebasic.fr/french/viewtopi ... =1&t=10729

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 17:39
par Parole De JOJO
c'est pas mal, je crois que j'avais deja vu ce code, mais il y a deja longtemps que je sais comment lire les tags, le gros probleme est de les reecrire, sans effacer l'image et de preference sans avoir a reecrire tout le fichier (le charger dans buffer et le couper en petit morceaux) car ca met des heures lorsqu'il s'agit de plein de chansons
en tout cas merci bcp dobro pour la reponse rapide

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 19:26
par venom
Merci Dobro pour tes codes, j'allais justement bientôt voir pour faire de la modification de tag audio :D






@++

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 19:51
par Backup
j'etudie la chose en ce moment, et j'ai deja compris pas mal de truc sur la ID3 V2

je devrai pouvoir sortir un code .... enfin j'espere :)

Re: Lire et ecrire les tags des fichiers mp3

Publié : lun. 29/nov./2010 20:17
par venom
Ok ok c'est cool,

je vais donc être méchant mais je vais patienté un peut voir le fonctionnement d'apres ton code :mrgreen: :wink:






@++

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 3:11
par Backup
................................

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 12:31
par Backup
code ci dessus modifié
pour la longueur des "Frames" c'est un Long (4 octets)
je ne tenais compte que du 4em octet (little indian)
j'ai donc utiliser "Readlong()" qui lis en "big indian"
et ajouté une procedure de conversion (To_little_indian)pour retomber sur mes pattes

maintenant si la longueur depasse l'octet ce sera pris en compte
ce qui n'etait pas le cas avant.... :)



je sens que la partie ecriture, va etre un petit casse tete :lol:

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 15:02
par Parole De JOJO
je te remercie enormement dobro, et j'attends avec impatience ton code d'ecriture

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 21:05
par venom
En effet, ces procédures sont ma foi sympathique :wink:
Merci





@++

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 21:33
par Backup
ma procedure D'ecriture du tag ID3 V1 fonctionne
mais je ne la met pas tout de suite

je suis confronté a un peut etre bug de purebasic

j'ecris 128 octets, ça marche !
je peut relire nikel...

je réecrit les memes octets avec la meme portion de code sur le meme fichier deja ecrit
et au moment du Closefile()
purebasic ajoute un "0" a la fin du fichier !!

ce qui est fâcheux, car la relecture est ensuite décalé !!

la solution que j'ai trouve est de tronquer le fichier pour effecer les 128 octets de fin
et de les reconstituer a neuf !!

mais je ne comprends pas pourquoi Closefile() ajoute un "0" a mon fichier !! :?
(j'ai vérifié en parallèle, avec un Editeur hexa.. cest bien seulement au Closefile() que ça se produit 8O )

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 23:48
par Warkering
Peut-être un caractère de fin de fichier, comme de fin de ligne par exemple. Je dit ça, mais faut pas trop porter attention à moi! :roll:

Re: Lire et ecrire les tags des fichiers mp3

Publié : mar. 30/nov./2010 23:53
par Backup
je pensai bien a un truc comme ça .. :)

mais ça n'a pas l'air d'etre le cas
d'autant que le dernier octets qui a qui est ajouté un "0" est ecrit
avec un Writebyte() :roll:

enfin, je cherche.. :)