Écrire le genre dans un tag mp3

BlueSky2 Messages postés 3 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 12 mai 2005 - 31 août 2004 à 01:53
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 31 août 2004 à 06:25
Salut tout l'monde,

Je suis en train de faire un programme qui liste tout les fichier mp3 et les informations de leur tag dans un msflexgrid.
Par la suite, je peux modifier les informations des tags dans mon msflexgrig qui sont mis à jour dans leur mp3 respectif lorsque je click sur un commandButton.

Mon problème est lorsque je veux écrire le genre dans le tag du mp3. J'ai essayé différentes façon mais ça ne fonctionne jamais.
Soit il ne l'écrit pas du tout, soit il efface tout le tag de mon mp3.

Voici la partie du code lorsque j'enregistre mon tag :

Public Function WriteID3Tag(MP3File As String, mTitle As String, mArtist As String, mAlbum As String, mYear As String, mComment As String, lNewGenre As String)

Dim Buf As String * 128
Dim tmpStr As String
Dim I As Byte
Dim lGenre
Dim sGenre() As String

' Genre
Const sGenreMatrix As String = "Blues|Classic Rock|Country|Dance|Disco|Funk|Grunge|" + _
"Hip-Hop|Jazz|Metal|New Age|Oldies|Other|Pop|R&B|Rap|Reggae|Rock|Techno|" + _
"Industrial|Alternative|Ska|Death Metal|Pranks|Soundtrack|Euro-Techno|" + _
"Ambient|Trip Hop|Vocal|Jazz+Funk|Fusion|Trance|Classical|Instrumental|Acid|" + _
"House|Game|Sound Clip|Gospel|Noise|Alt. Rock|Bass|Soul|Punk|Space|Meditative|" + _
"Instrumental Pop|Instrumental Rock|Ethnic|Gothic|Darkwave|Techno-Industrial|Electronic|" + _
"Pop-Folk|Eurodance|Dream|Southern Rock|Comedy|Cult|Gangsta Rap|Top 40|Christian Rap|" + _
"Pop/Punk|Jungle|Native American|Cabaret|New Wave|Phychedelic|Rave|Showtunes|Trailer|" + _
"Lo-Fi|Tribal|Acid Punk|Acid Jazz|Polka|Retro|Musical|Rock & Roll|Hard Rock|Folk|" + _
"Folk/Rock|National Folk|Swing|Fast-Fusion|Bebob|Latin|Revival|Celtic|Blue Grass|" + _
"Avantegarde|Gothic Rock|Progressive Rock|Psychedelic Rock|Symphonic Rock|Slow Rock|" + _
"Big Band|Chorus|Easy Listening|Acoustic|Humour|Speech|Chanson|Opera|Chamber Music|" + _
"Sonata|Symphony|Booty Bass|Primus|Porn Groove|Satire|Slow Jam|Club|Tango|Samba|Folklore|" + _
"Ballad|power Ballad|Rhythmic Soul|Freestyle|Duet|Punk Rock|Drum Solo|A Capella|Euro-House|" + _
"Dance Hall|Goa|Drum & Bass|Club-House|Hardcore|Terror|indie|Brit Pop|Negerpunk|Polsk Punk|" + _
"Beat|Christian Gangsta Rap|Heavy Metal|Black Metal|Crossover|Comteporary Christian|" + _
"Christian Rock|Merengue|Salsa|Trash Metal|Anime|JPop|Synth Pop"


sGenre = Split(sGenreMatrix, "|")


SetAttr MP3File, vbNormal

Open MP3File For Binary As #1
Dim ToBeWritten As String
FileLen (MP3File)
'TAG Section

ToBeWritten = "TAG"
Put #1, FileLen(MP3File) - 127, ToBeWritten

ToBeWritten = mTitle & String(30 - Len(mTitle), " ")
Put #1, FileLen(MP3File) - 124, ToBeWritten

ToBeWritten = mArtist & String(30 - Len(mArtist), " ")
Put #1, FileLen(MP3File) - 94, ToBeWritten

ToBeWritten = mAlbum & String(30 - Len(mAlbum), " ")
Put #1, FileLen(MP3File) - 64, ToBeWritten

ToBeWritten = mYear & String(4 - Len(mYear), " ")
Put #1, FileLen(MP3File) - 34, ToBeWritten

ToBeWritten = mComment & String(30 - Len(mComment), " ")
Put #1, FileLen(MP3File) - 30, ToBeWritten

lGenre = Asc(Mid(Buf, 128, 1))

For lGenre = 0 To 127

If lNewGenre = sGenre(lGenre) Then
mgenre = lGenre
End If

Next lGenre'ToBeWritten mgenre & String(1 - Len(mgenre), " ")
Put #1, FileLen(MP3File), ToBeWritten

'==============================================

Close #1 'Close File

End Function

La partie qui ne fonctionne pas est entre les 2 lignes de =====.

Si quelqu'un pourrais m'aider, j'apprécierais beaucoup.

MERCI,

Dave.

1 réponse

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 août 2004 à 06:25
Tu peux t'inspirer de

[url]http://www.vbfrance.com/code.aspx?id=7206/urm

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
Rejoignez-nous