CLASSE PERMETTANT DE GÉRER LES TAG ID3V1 DES MP3

Signaler
Messages postés
2
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
2 juin 2004
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/20257-classe-permettant-de-gerer-les-tag-id3v1-des-mp3

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Alors là.. Aucune idée :(, désolé

@++

R@f
Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
1
ta classe est-elle compatible avec wxWidgets?
*car je n'arrive pas a l' utilisée , j'ai une erreur de linker...

je dévellope sous wxDevCpp 4.9.9.2 avec la librairie wxWIDGETS

Voila, sinon j' ai jeté un coup d'oeil ,et galerant sévere avec la récupération des tags avec FMOD depuis bien une semaine, je suis tré tré mais trééééééés in té rré ssé!!
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Ca risque de poser des problèmes lors de l'écriture...

J'ai pas trop le temps ces jours (exams exams, ;-)) mais je tacherai de voir ca une fois en vacances (dans 2 semaines...)

@++ et merci pour ton commentaire

R@f
Messages postés
2
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
2 juin 2004

Tout d'abors, merci pour cette class.
Il y a malheureusement une erreur lorsque je lit les tags d'un fichier mp3. Nottament sur le tag "année". En fait, dans ton code tu alloues, dans le constructeur, des espaces mémoires permettant la sauvegarde des différentes valeurs. Le problème c'est que tu n'alloues pas assez de mémoire. Exemple avec l'année :
szYear = new char [4];
or l'année prend effectivement 4 caratères mais en C il faut ajouter un case pour le '\0' finale. Tant que la suite de ta mémoire contient effectivement un '\0' comme cellule suivante pas d'prob (de la chance) mais si ce n'est pas le cas on affichage de la suite de la mémoire jusqu'à tombé sur un '\0' ou jusqu'à...
Pour ma part, j'ai modifié ton code de la manière suivante. Dans le constructeur, pour chaque allocation mémoire, j'ai ajouter une cellule supplémentaire et je fais une mise à zéro avec la fonction memset. Ce qui donne, par exemple pour szYear :
szYear = new char [5]; et non pas 4!
memset(szYear, 0, 5); et la, on garantie un '\0' finale
L'erreur est résolue chez moi !
Je n'ai pas fait de tests supplémentaires, par exemple dans le cas d'une modification du contenu d'un de ces tableaux...

PiF