PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Tag information sur un mp3
Tag information sur un mp3
Débuté par Kael, 25 juin 2004 20:00 - 1 réponse
Posté le 25 juin 2004 - 20:00
Bonjour,

Est-ce que quelqu'un sait comment modifier les tag information d'un mp3 via
windev ?

Merci.
Posté le 28 juin 2004 - 16:21
"Kael" a tapoté sur son clavier :

Bonjour,

Est-ce que quelqu'un sait comment modifier les tag information d'un mp3

via
windev ?

Merci.


Bonjour
Ci dessous un exemeple pour les tag version simple.
Il existe une autre version de tag qui est placé en début de fichier et qui
peuvent contenir plus d'info.
@+
Vincent Barré


Procédure FicheToTag(NomFic,Clef)
// Les 128 derniers caractères sont structurés de la manière suivante

// Offset Type Len Name
// 0 char 3 "TAG"
// 3 char 30 titre
// 33 char 30 Artiste
// 63 char 30 Album
// 93 char 4 Année
// 97 char 30 Commentaires
// 127 byte 1 Genre (Exemple : Blues, Dance...)

//Variables locales

Car est une chaine
Balise,St sont des chaines
Fichier est un entier
Cpt est un entier

//Ouverture du fichier son

Fichier = fouvre(NomFic,FOLectureEcriture)

SI Fichier > 0 ALORS

//On se positionne sur le 128EME caractère en partant de la fin du fichier
MP3
fpositionne(Fichier,-128,Fpfin)

//***********************************************************************
//******* On vérifie si une balise TAG existe ************
//***********************************************************************


//Lecture des trois premier caractères
Balise = flit(Fichier,3)

si Balise <> "TAG" alors
fpositionne(Fichier,0,Fpfin)
fEcrit(Fichier,"TAG",3)
FIN

//******* On ecrit le Titre ************
St = SansEspace(Gauche(FI.Titre,30))
Car = ""
pour Cpt= 1 a 30
si Cpt <= Taille(St) ALORS
Car += St[[Cpt]]
sinon
Car += Caract(0)
FIN
FIN
fEcrit(Fichier,&Car,30)

//******* On ecrit le nom de l'artiste ************

St = SansEspace(Gauche(FI.Artiste,30))
Car = ""
pour Cpt= 1 a 30
si Cpt <= Taille(St) ALORS
Car += St[[Cpt]]
sinon
Car += Caract(0)
FIN
FIN
fEcrit(Fichier,&Car,30)

//******* On écrit le nom de l'album ************

St = SansEspace(Gauche(FI.Album,30))
Car = ""
pour Cpt= 1 a 30
si Cpt <= Taille(St) ALORS
Car += St[[Cpt]]
sinon
Car += Caract(0)
FIN
FIN
fEcrit(Fichier,&Car,30)

//******* On écrite l'année ************

St = SansEspace(Gauche(FI.Date,4))
Car = ""
pour Cpt= 1 a 4
si Cpt <= Taille(St) ALORS
Car += St[[Cpt]]
sinon
Car += Caract(0)
FIN
FIN
fEcrit(Fichier,&Car,4)

//******* On écrit le commentaire ************

St = SansEspace(Gauche(FI.Comment,30))
Car = ""
pour Cpt= 1 a 30
si Cpt <= Taille(St) ALORS
Car += St[[Cpt]]
sinon
Car += Caract(0)
FIN
FIN
fEcrit(Fichier,&Car,30)

//******* On écrit le genre du fichier son **********

fEcrit(Fichier,Caract(GenreToTag(FI.Genre)),1)

fFerme(Fichier)
sinon
MsgIncident("MP3",NomFic,"Ecriture Fichier","","!")
FIN // SI Ouvre


//*********************************************************
Procédure GenreToTag(GENRE)

St est une chaine = Majuscule(SansEspace(GENRE))

Mot est une chaine = ""
i est un entier
Ch est un caractére
Blanc est un booleen = Vrai

pour i = 1 a taille(st)
Ch = St[[i]]
si ((Ch >= "0") et (Ch <= "9")) ou ((Ch >= "A") et (Ch <= "Z")) alors
Mot += Ch
Blanc = Faux
sinon
si pas Blanc alors Mot += " "
Blanc = Vrai
FIN
fin

Mot = SansEspace(Mot)
si Droite(Mot,1) = "S" alors // Enleve le S final (Pluriel..)
Mot = Gauche(Mot,Taille(Mot)-1)
fin

SELON Mot

CAS "BLUE"
RENVOYER 1
CAS "CLASSIC ROCK","CLASSIQUE ROCK"
RENVOYER 2
CAS "COUNTRY"
RENVOYER 3
CAS "DANCE"
RENVOYER 4
CAS "DISCO"
RENVOYER 5
CAS "GRUNGE"
RENVOYER 6
CAS "HIP HOP"
RENVOYER 7
CAS "JAZZ"
RENVOYER 8
CAS "METAL"
RENVOYER 9
CAS "NEW AGE"
RENVOYER 10
CAS "OLDIE"
RENVOYER 11
CAS "UNKNOW","INCONNU"
RENVOYER 12
CAS "POP"
RENVOYER 13
CAS "RITHME BLUE"
RENVOYER 14
CAS "RAP"
RENVOYER 15
CAS "REGGAE"
RENVOYER 16
CAS "ROCK"
RENVOYER 17
CAS "TECHNO","TEKNO"
RENVOYER 18
CAS "INDUSTRIAL"
RENVOYER 19
CAS "ALTERNATIVE"
RENVOYER 20
CAS "SKA"
RENVOYER 21
CAS "DEATH METAL"
RENVOYER 22
CAS "PRANK"
RENVOYER 23
CAS "SOUNDTRACK"
RENVOYER 24
CAS "EURO TECHNO"
RENVOYER 25
CAS "AMBIANT"
RENVOYER 26
CAS "TRIP HOP"
RENVOYER 27
CAS "VOCAL"
RENVOYER 28
CAS "JAZZ FUNK"
RENVOYER 29
CAS "FUSION"
RENVOYER 30
CAS "TRANCE"
RENVOYER 31
CAS "CLASSICAL","CLASSIQUE"
RENVOYER 32
CAS "INSTRUMENTAL"
RENVOYER 33
CAS "ACID","ACIDE"
RENVOYER 34
CAS "HOUSE"
RENVOYER 35
CAS "GAME"
RENVOYER 36
CAS "SOUND CLIP","CLIP"
RENVOYER 37
CAS "GOSPEL"
RENVOYER 38
CAS "NOISE","BRUIT"
RENVOYER 39
CAS "ALTERNROCK","ALTERNATIVE ROCK"
RENVOYER 40
CAS "BAS"
RENVOYER 41
CAS "SOUL"
RENVOYER 42
CAS "PUNK"
RENVOYER 43
CAS "SPACE"
RENVOYER 44
CAS "MEDIATIVE"
RENVOYER 45
CAS "INSTRUMENTAL POP"
RENVOYER 46
CAS "INSTRUMENTAL ROCK"
RENVOYER 47
CAS "ETHNIC","ETHNIQUE"
RENVOYER 48
CAS "GOTHIC"
RENVOYER 49
CAS "DARKWAVE"
RENVOYER 50
CAS "TECHNO INDUSTRIAL"
RENVOYER 51
CAS "ELECTRONICIEN"
RENVOYER 52
CAS "POP FOLK"
RENVOYER 53
CAS "EURODANCE"
RENVOYER 54
CAS "DREAM"
RENVOYER 55
CAS "SOUTHERN ROCK"
RENVOYER 56
CAS "COMEDIE"
RENVOYER 57
CAS "CULT"
RENVOYER 58
CAS "GANSTA"
RENVOYER 59
CAS "TOP 40"
RENVOYER 60
CAS "CHRISTIAN RAP"
RENVOYER 61
CAS "POP FUNK","FUNK"
RENVOYER 62
CAS "JUNGLE"
RENVOYER 63
CAS "NATIVE AMERICAN"
RENVOYER 64
CAS "CABARET"
RENVOYER 65
CAS "NEW WAVE"
RENVOYER 66
CAS "PSYCHADELIC"
RENVOYER 67
CAS "RAVE"
RENVOYER 68
CAS "SHOWTUNE"
RENVOYER 69
CAS "TRAILER"
RENVOYER 70
CAS "LO FI"
RENVOYER 71
CAS "TRIBAL"
RENVOYER 72
CAS "ACID PUNK","ACIDE PUNK"
RENVOYER 73
CAS "ACID JAZZ","ACIDE JAZZ"
RENVOYER 74
CAS "POLKA"
RENVOYER 75
CAS "RETRO"
RENVOYER 76
CAS "MUSICAL"
RENVOYER 77
CAS "ROCK FOLK"
RENVOYER 78
CAS "HARD ROCK"
RENVOYER 79
CAS "FOLK"
RENVOYER 80
CAS "FOLK ROCK"
RENVOYER 81
CAS "NATIONAL FOLK"
RENVOYER 82
CAS "SWING"
RENVOYER 83
CAS "FAST FUSION"
RENVOYER 84
CAS "BEBOP"
RENVOYER 85
CAS "LATIN"
RENVOYER 86
CAS "REVIVAL"
RENVOYER 87
CAS "CELTIC"
RENVOYER 88
CAS "BLUEGRAS"
RENVOYER 89
CAS "AVANT GARDE"
RENVOYER 90
CAS "GOTHIC ROCK"
RENVOYER 91
CAS "PROGRESSIVE ROCK"
RENVOYER 92
CAS "PSYCHEDELIC ROCK"
RENVOYER 93
CAS "SYMPHONIC ROCK"
RENVOYER 94
CAS "SLOW ROCK"
RENVOYER 95
CAS "BIG BAND"
RENVOYER 96
CAS "CHORU"
RENVOYER 97
CAS "EASY LISTENING"
RENVOYER 98
CAS "ACOUSTIC","ACOUSTIQUE"
RENVOYER 99
CAS "HUMOUR","RIRE"
RENVOYER 100
CAS "SPEECH","VOIX"
RENVOYER 101
CAS "CHANSON"
RENVOYER 102
CAS "OPERA"
RENVOYER 103
CAS "CHAMBER MUSIC","MUSIQUE DE CHAMBRE"
RENVOYER 104
CAS "SONATA","SONATE"
RENVOYER 105
CAS "SYMPHONY","SYMPHONIE"
RENVOYER 106
CAS "BOOTY BAS"
RENVOYER 107
CAS "PRIMU"
RENVOYER 108
CAS "PORN GROOVE"
RENVOYER 109
CAS "SATIRE"
RENVOYER 110
CAS "SLOW JAM"
RENVOYER 111
CAS "CLUB"
RENVOYER 112
CAS "TANGO"
RENVOYER 113
CAS "SAMBA"
RENVOYER 114
CAS "FOLKLORE"
RENVOYER 115
CAS "BALLAD","BALLADE"
RENVOYER 116
CAS "POWER BALLAD"
RENVOYER 117
CAS "RHYTHMIC SOUL"
RENVOYER 118
CAS "FREESTYLE"
RENVOYER 119
CAS "DUET"
RENVOYER 120
CAS "PUNK ROCK"
RENVOYER 121
CAS "DRUM SOLO"
RENVOYER 122
CAS "ACAPELLA","A CAPELLA"
RENVOYER 123
CAS "EURO HOUSE"
RENVOYER 124
CAS "DANCE HALL"
RENVOYER 125

CAS "GOA"
RENVOYER 126
CAS "DRUM BAS"
RENVOYER 127
CAS "CLUB HOUSE"
RENVOYER 128
CAS "HARDCORE"
RENVOYER 129
CAS "TERROR"
RENVOYER 130
CAS "INDIE"
RENVOYER 131
CAS "BRITPOP"
RENVOYER 132
CAS "NEGERPUNK"
RENVOYER 133
CAS "POLSK PUNK"
RENVOYER 134
CAS "BEAT"
RENVOYER 135
CAS "CHRISTIAN GANGSTA RAP"
RENVOYER 136
CAS "HEAVY METAL"
RENVOYER 137
CAS "BLACK METAL"
RENVOYER 138
CAS "CROSSOVER"
RENVOYER 139
CAS "CONTEMPORARY CHRISTIAN"
RENVOYER 140
CAS "CHRISTIAN ROCK"
RENVOYER 141
CAS "MERENGUE"
RENVOYER 142
CAS "SALSA"
RENVOYER 143
CAS "TRASH METAL"
RENVOYER 144
CAS "ANIME"
RENVOYER 145
CAS "JPOP"
RENVOYER 146
CAS "SYNTHPOP"
RENVOYER 147
AUTRE CAS
RENVOYER 0
FIN