begin process at 2012 02 13 17:43:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Multimedia

 > MP3 ID3 TAG V1 ET V2 READER

MP3 ID3 TAG V1 ET V2 READER


 Information sur la source

Note :
7 / 10 - par 5 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Multimedia Classé sous :mp3, id3v1, id3v2, tag Niveau :Expert Date de création :02/12/2000 Date de mise à jour :20/07/2002 16:07:36 Vu / téléchargé :8 549 / 520

Auteur : TotoBest

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici un module unique (à la date du post) permettant de lire les tags des fichiers MP3 v1 ET v2!!!! Pour ceux qui connaissent pas, la version 2 de l'ID3 permet de mettre des titres/artistes plus long et d'avoir plus d'information sur un MP3 (auteur du fichier, logiciel utilisé pour la compression, etc).Dans le zip, il y a un p'tit programme pour tester le module. Enfin, vous pouvez aller sur mon site www.multimania.com/grdbest si vous voulez un programme complet (SeekMP3) l'utilisant. Le code n'est pas commenté et ne prend en charge que l'artiste, l'album, le titre, le genre, la date et le commentaire (tout comme id3v1, c vrai). Il y a encore du travail à faire sur le module, mais il est déjà opérationnel.

Source

  • Option Explicit
  • Option Base 1
  • Private Type CLASS_ID3_Tag
  • Titre As String * 30
  • Artiste As String * 30
  • Album As String * 30
  • Année As String * 4
  • Commentaire As String * 30
  • Genre As Byte
  • End Type
  • Public Type CLASS_CORRECTED_ID3_Tag
  • Titre As String
  • Artiste As String
  • Album As String
  • Année As String
  • Commentaire As String
  • Genre As Byte
  • ID3Version As String
  • End Type
  • Function GetMP3Tag(Fichier As String) As CLASS_CORRECTED_ID3_Tag
  • Dim FreeSlot As Integer
  • Dim Lect As String * 3
  • Dim ID3TagReaded As CLASS_ID3_Tag
  • Dim Id3Header(7) As Byte
  • Dim Id3TagSize As Long
  • Dim BitMapTemp() As Byte
  • Dim BitMap() As Byte
  • Dim Compteur As Integer
  • Dim Compteur2 As Integer
  • Dim Index As Byte
  • Dim ExtendedHeader As Boolean
  • Dim CurIndex As Long
  • Dim strTemp As String
  • 'frame header
  • Dim FrameID As String * 4
  • Dim FrameSize As Long
  • Dim FrameFlags As Integer
  • FreeSlot = FreeFile
  • Open Fichier For Binary As FreeSlot
  • Get FreeSlot, 1, Lect
  • If Lect = "ID3" Then
  • 'juste la premiere version, qui englobe
  • 'à peut pret tout
  • GetMP3Tag.ID3Version = "v2.1"
  • Get FreeSlot, 4, Id3Header
  • If Id3Header(1) = 3 Then
  • If Id3Header(3) And 128 Then
  • ' Unsynchronisation
  • End If
  • If Id3Header(3) And 64 Then
  • 'Extended header
  • ExtendedHeader = True
  • End If
  • If Id3Header(3) And 32 Then
  • 'Experimental indicator
  • End If
  • If Id3Header(3) And 31 Then
  • 'doivent être 0!!!
  • End If
  • ' '***** TEST
  • ' Id3Header(4) = 0
  • ' Id3Header(5) = 0
  • ' Id3Header(6) = 2
  • ' Id3Header(7) = 1
  • ' '***** TEST
  • For Compteur = 7 To 4 Step -1
  • DecToBin Id3Header(Compteur), BitMapTemp()
  • Debug.Assert Not (BitMapTemp(7))
  • ReDim Preserve BitMapTemp(0 To UBound(BitMapTemp()) - 1)
  • For Compteur2 = 0 To UBound(BitMapTemp())
  • ReDim Preserve BitMap(0 To Index + UBound(BitMapTemp()))
  • BitMap(Index + Compteur2) = BitMapTemp(Compteur2)
  • Next Compteur2
  • Index = Index + UBound(BitMapTemp()) + 1
  • Next Compteur
  • BinToDec BitMap, Id3TagSize
  • If ExtendedHeader Then
  • 'TODO: Passer le tag extensed
  • End If
  • CurIndex = 11
  • Do While CurIndex < Id3TagSize
  • Get FreeSlot, CurIndex, FrameID
  • 'si je suis HexWorkShop, les 4 octets sont codé "à l'envers, big endian(motorola),ché pas koi"!!
  • 'donc, c'est galère, il faut que j'inverse les octets entre eux
  • Get FreeSlot, CurIndex + 4, FrameSize
  • DecToBin FrameSize, BitMapTemp()
  • ReDim BitMap(0 To UBound(BitMapTemp))
  • For Compteur = 0 To 31 Step 8
  • 'BitMap(Compteur) = BitMapTemp(23 - Compteur)
  • For Compteur2 = 0 To 7
  • BitMap(Compteur + Compteur2) = BitMapTemp(24 - Compteur + Compteur2)
  • Next Compteur2
  • Next
  • BinToDec BitMap(), FrameSize
  • Get FreeSlot, CurIndex + 8, FrameFlags
  • CurIndex = CurIndex + 4 + 4 + 2
  • If FrameID <> String(4, Chr(0)) Then
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • Debug.Print FrameID
  • Debug.Print strTemp
  • End If
  • Select Case FrameID
  • Case "TALB"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • GetMP3Tag.Album = Trim(strTemp)
  • Case "TIT2"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • GetMP3Tag.Titre = Trim(strTemp)
  • Case "TPE1"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • GetMP3Tag.Artiste = Trim(strTemp)
  • Case "TPE4"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • GetMP3Tag.Artiste = Trim(strTemp)
  • Case "COMM"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • GetMP3Tag.Commentaire = Trim(Replace(strTemp, Chr(0), Chr(32)))
  • Case "TCON"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • 'GetMP3Tag.Genre = Trim(strTemp) type incompatible
  • Case "TYER"
  • strTemp = String(FrameSize - 1, " ")
  • Get FreeSlot, CurIndex + 1, strTemp
  • GetMP3Tag.Année = Trim(strTemp)
  • Case Else
  • 'MsgBox FrameID
  • End Select
  • CurIndex = CurIndex + FrameSize
  • Loop
  • End If
  • Else
  • 'la version "banale" du tag
  • GetMP3Tag.ID3Version = "v1"
  • Get FreeSlot, (LOF(FreeSlot) - 127), Lect
  • If UCase(Lect) = "TAG" Then
  • Get FreeSlot, (LOF(FreeSlot) - 124), ID3TagReaded
  • GetMP3Tag.Titre = RectifieTexte(ID3TagReaded.Titre)
  • GetMP3Tag.Artiste = RectifieTexte(ID3TagReaded.Artiste)
  • GetMP3Tag.Album = RectifieTexte(ID3TagReaded.Album)
  • GetMP3Tag.Année = RectifieTexte(ID3TagReaded.Année)
  • GetMP3Tag.Commentaire = RectifieTexte(ID3TagReaded.Commentaire)
  • GetMP3Tag.Genre = ID3TagReaded.Genre
  • End If
  • End If
  • Close FreeSlot
  • End Function
  • Public Sub ExtractID3TagFromFileName(ByVal FileName As String, ByRef Titre As String, ByRef Artiste As String, ByRef Album As String)
  • Dim intIndexTiret As Integer
  • Dim intLastFound As Integer
  • Dim intNbFound As Integer
  • Dim strFound() As String
  • intIndexTiret = InStr(1, FileName, ".")
  • Do While intIndexTiret <> 0
  • intLastFound = intIndexTiret
  • intIndexTiret = InStr(intIndexTiret + 1, FileName, ".")
  • Loop
  • FileName = Left(FileName, intLastFound - 1) & "-"
  • 'Dim intIndexLBracket As Integer
  • 'Dim intIndexRBracket As Integer
  • 'intIndexLBracket = InStr(1, FileName, "[")
  • 'If intIndexLBracket <> 0 Then
  • ' intIndexRBracket = InStr(intIndexLBracket + 2, FileName, "]")
  • ' If intIndexRBracket <> 0 Then
  • intLastFound = 1
  • intIndexTiret = InStr(intLastFound, FileName, "-")
  • Do While intIndexTiret <> 0
  • intNbFound = intNbFound + 1
  • ReDim Preserve strFound(1 To intNbFound)
  • strFound(intNbFound) = Mid(FileName, intLastFound, intIndexTiret - intLastFound)
  • intLastFound = intIndexTiret + 1
  • intIndexTiret = InStr(intLastFound + 1, FileName, "-")
  • Loop
  • For intIndexTiret = 1 To intNbFound
  • If intIndexTiret = intNbFound Then
  • If Titre = "" Then Titre = Trim(strFound(intIndexTiret))
  • Else
  • Select Case intIndexTiret
  • Case 1
  • If Artiste = "" Then Artiste = Trim(strFound(intIndexTiret))
  • Case 2
  • If Album = "" Then Album = Trim(strFound(intIndexTiret))
  • Case Else
  • ' ExtractID3TagFromFileName = ExtractID3TagFromFileName & strFound(intIndexTiret)
  • End Select
  • End If
  • Next intIndexTiret
  • End Sub
  • Public Sub DecToBin(Dec, ByRef Bin() As Byte)
  • Dim Compteur As Integer
  • Dim Index As Integer
  • Dim Max As Integer
  • Dim Temp As Integer
  • Select Case TypeName(Dec)
  • Case "Byte": Max = 7
  • Case "Integer": Max = 15
  • Case "Long": Max = 31
  • Case Else
  • Do While 2 ^ Index <= Dec
  • Index = Index + 1
  • Loop
  • Max = Int(((Index - 1) / 8) + 1) * 8 - 1
  • End Select
  • ReDim Bin(0 To Max)
  • If Dec <> 0 Then
  • For Index = Max To 0 Step -1
  • If 2 ^ Index <= Dec Then
  • Bin(Index) = 1
  • Dec = Dec - 2 ^ Index
  • End If
  • Next Index
  • End If
  • End Sub
  • Public Sub BinToDec(Bin() As Byte, Dec)
  • Dim Compteur As Integer
  • For Compteur = 0 To UBound(Bin())
  • Dec = Dec + Bin(Compteur) * (2 ^ Compteur)
  • Next Compteur
  • End Sub
  • Function RectifieTexte(Texte As String) As String
  • Dim intIndex As Integer
  • intIndex = InStr(1, Texte, Chr(0))
  • If intIndex <> 0 Then
  • Texte = Left(Texte, intIndex - 1)
  • Else
  • Texte = Texte
  • End If
  • RectifieTexte = Trim(Texte)
  • End Function
Option Explicit
Option Base 1
Private Type CLASS_ID3_Tag
    Titre As String * 30
    Artiste As String * 30
    Album As String * 30
    Année As String * 4
    Commentaire As String * 30
    Genre As Byte
End Type

Public Type CLASS_CORRECTED_ID3_Tag
    Titre As String
    Artiste As String
    Album As String
    Année As String
    Commentaire As String
    Genre As Byte
    ID3Version As String
End Type

Function GetMP3Tag(Fichier As String) As CLASS_CORRECTED_ID3_Tag
    Dim FreeSlot As Integer
    Dim Lect As String * 3
    Dim ID3TagReaded As CLASS_ID3_Tag
    Dim Id3Header(7) As Byte
    Dim Id3TagSize As Long
    Dim BitMapTemp() As Byte
    Dim BitMap() As Byte
    Dim Compteur As Integer
    Dim Compteur2 As Integer
    Dim Index As Byte
    Dim ExtendedHeader As Boolean
    
    Dim CurIndex As Long
    Dim strTemp As String
    'frame header
    Dim FrameID As String * 4
    Dim FrameSize As Long
    Dim FrameFlags As Integer
    
    FreeSlot = FreeFile
    Open Fichier For Binary As FreeSlot
    Get FreeSlot, 1, Lect
    If Lect = "ID3" Then
        'juste la premiere version, qui englobe
        'à peut pret tout
        GetMP3Tag.ID3Version = "v2.1"
        Get FreeSlot, 4, Id3Header
        If Id3Header(1) = 3 Then
            If Id3Header(3) And 128 Then
                ' Unsynchronisation
            End If
            If Id3Header(3) And 64 Then
                'Extended header
                ExtendedHeader = True
            End If
            If Id3Header(3) And 32 Then
                'Experimental indicator
            End If
            If Id3Header(3) And 31 Then
                'doivent être 0!!!
            End If
'            '***** TEST
'            Id3Header(4) = 0
'            Id3Header(5) = 0
'            Id3Header(6) = 2
'            Id3Header(7) = 1
'            '***** TEST
            For Compteur = 7 To 4 Step -1
                DecToBin Id3Header(Compteur), BitMapTemp()
                Debug.Assert Not (BitMapTemp(7))
                ReDim Preserve BitMapTemp(0 To UBound(BitMapTemp()) - 1)
                For Compteur2 = 0 To UBound(BitMapTemp())
                    ReDim Preserve BitMap(0 To Index + UBound(BitMapTemp()))
                    BitMap(Index + Compteur2) = BitMapTemp(Compteur2)
                Next Compteur2
                Index = Index + UBound(BitMapTemp()) + 1
            Next Compteur
            BinToDec BitMap, Id3TagSize
            If ExtendedHeader Then
                'TODO: Passer le tag extensed
            End If
            CurIndex = 11
            Do While CurIndex < Id3TagSize
                Get FreeSlot, CurIndex, FrameID
                'si je suis HexWorkShop, les 4 octets sont codé "à l'envers, big endian(motorola),ché pas koi"!!
                'donc, c'est galère, il faut que j'inverse les octets entre eux
                
                Get FreeSlot, CurIndex + 4, FrameSize
                DecToBin FrameSize, BitMapTemp()
                ReDim BitMap(0 To UBound(BitMapTemp))
                For Compteur = 0 To 31 Step 8
                    'BitMap(Compteur) = BitMapTemp(23 - Compteur)
                    For Compteur2 = 0 To 7
                        BitMap(Compteur + Compteur2) = BitMapTemp(24 - Compteur + Compteur2)
                    Next Compteur2
                Next
                BinToDec BitMap(), FrameSize
                Get FreeSlot, CurIndex + 8, FrameFlags
                CurIndex = CurIndex + 4 + 4 + 2
                If FrameID <> String(4, Chr(0)) Then
                    strTemp = String(FrameSize - 1, " ")
                    Get FreeSlot, CurIndex + 1, strTemp
                    Debug.Print FrameID
                    Debug.Print strTemp
                End If
                
                Select Case FrameID
                    Case "TALB"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        GetMP3Tag.Album = Trim(strTemp)
                    Case "TIT2"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        GetMP3Tag.Titre = Trim(strTemp)
                    Case "TPE1"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        GetMP3Tag.Artiste = Trim(strTemp)
                    Case "TPE4"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        GetMP3Tag.Artiste = Trim(strTemp)
                    Case "COMM"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        GetMP3Tag.Commentaire = Trim(Replace(strTemp, Chr(0), Chr(32)))
                    Case "TCON"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        'GetMP3Tag.Genre = Trim(strTemp) type incompatible
                    Case "TYER"
                        strTemp = String(FrameSize - 1, " ")
                        Get FreeSlot, CurIndex + 1, strTemp
                        GetMP3Tag.Année = Trim(strTemp)
                        
                    Case Else
                        'MsgBox FrameID
                End Select
                CurIndex = CurIndex + FrameSize
            Loop
        End If
    Else
    'la version "banale" du tag
    GetMP3Tag.ID3Version = "v1"
    Get FreeSlot, (LOF(FreeSlot) - 127), Lect
    If UCase(Lect) = "TAG" Then
        Get FreeSlot, (LOF(FreeSlot) - 124), ID3TagReaded
        GetMP3Tag.Titre = RectifieTexte(ID3TagReaded.Titre)
        GetMP3Tag.Artiste = RectifieTexte(ID3TagReaded.Artiste)
        GetMP3Tag.Album = RectifieTexte(ID3TagReaded.Album)
        GetMP3Tag.Année = RectifieTexte(ID3TagReaded.Année)
        GetMP3Tag.Commentaire = RectifieTexte(ID3TagReaded.Commentaire)
        GetMP3Tag.Genre = ID3TagReaded.Genre
    End If
    End If
    Close FreeSlot
End Function

Public Sub ExtractID3TagFromFileName(ByVal FileName As String, ByRef Titre As String, ByRef Artiste As String, ByRef Album As String)
    
    Dim intIndexTiret As Integer
    Dim intLastFound As Integer
    Dim intNbFound As Integer
    Dim strFound() As String
    
    
    intIndexTiret = InStr(1, FileName, ".")
    Do While intIndexTiret <> 0
        intLastFound = intIndexTiret
        intIndexTiret = InStr(intIndexTiret + 1, FileName, ".")
    Loop
    
    FileName = Left(FileName, intLastFound - 1) & "-"
    
    'Dim intIndexLBracket As Integer
    'Dim intIndexRBracket As Integer
    
    
    'intIndexLBracket = InStr(1, FileName, "[")
    'If intIndexLBracket <> 0 Then
    '    intIndexRBracket = InStr(intIndexLBracket + 2, FileName, "]")
    '    If intIndexRBracket <> 0 Then
    
    intLastFound = 1
    intIndexTiret = InStr(intLastFound, FileName, "-")
    Do While intIndexTiret <> 0
        intNbFound = intNbFound + 1
        ReDim Preserve strFound(1 To intNbFound)
        strFound(intNbFound) = Mid(FileName, intLastFound, intIndexTiret - intLastFound)
        intLastFound = intIndexTiret + 1
        intIndexTiret = InStr(intLastFound + 1, FileName, "-")
    Loop
    For intIndexTiret = 1 To intNbFound
        If intIndexTiret = intNbFound Then
            If Titre = "" Then Titre = Trim(strFound(intIndexTiret))
        Else
            Select Case intIndexTiret
                Case 1
                    If Artiste = "" Then Artiste = Trim(strFound(intIndexTiret))
                Case 2
                    If Album = "" Then Album = Trim(strFound(intIndexTiret))
                Case Else
'                ExtractID3TagFromFileName = ExtractID3TagFromFileName & strFound(intIndexTiret)
        End Select
        End If
    Next intIndexTiret
End Sub
Public Sub DecToBin(Dec, ByRef Bin() As Byte)
    Dim Compteur As Integer
    Dim Index As Integer
    Dim Max As Integer
    Dim Temp As Integer
    Select Case TypeName(Dec)
        Case "Byte": Max = 7
        Case "Integer": Max = 15
        Case "Long": Max = 31
        Case Else
            Do While 2 ^ Index <= Dec
                Index = Index + 1
            Loop
            Max = Int(((Index - 1) / 8) + 1) * 8 - 1
    End Select
    
    ReDim Bin(0 To Max)
    
    If Dec <> 0 Then
        For Index = Max To 0 Step -1
            If 2 ^ Index <= Dec Then
                Bin(Index) = 1
                Dec = Dec - 2 ^ Index
            End If
        Next Index
    End If
End Sub

Public Sub BinToDec(Bin() As Byte, Dec)
    Dim Compteur As Integer
    For Compteur = 0 To UBound(Bin())
        Dec = Dec + Bin(Compteur) * (2 ^ Compteur)
    Next Compteur
End Sub

Function RectifieTexte(Texte As String) As String
    Dim intIndex As Integer
    intIndex = InStr(1, Texte, Chr(0))
    If intIndex <> 0 Then
        Texte = Left(Texte, intIndex - 1)
    Else
        Texte = Texte
    End If
    RectifieTexte = Trim(Texte)
End Function

 Conclusion

le module fait des calculs sur des offsets, des inversement d'octets etc, et c'est plutôt baleze à faire en VB, donc c'est fort probable qu'il plante sur certains fichiers.

Mon site: www.multimania.com/grdbest

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture SCANIP: QUI A UN PORT OUVERT?
Source avec Zip Source avec une capture RESIZE FORM CRÉATION DE SKIN DYNAMIQUE!!

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MON LECTEUR MP3 par kentharold
Source avec Zip Source avec une capture LECTEUR MULTIMÉDIA par lartiguef
Source avec Zip Source avec une capture RENOMMER SOUS-TITRES par memejoueur
Source .NET (Dotnet) "PARLEUR" EN VB 2010 par clementgeek41
Source avec Zip Source avec une capture CHANGER LE VOLUME SYSTÉME SANS ACTIVEX par kayoub5

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MP3 ID3 TAG CLEANER par gilgamesh44
Source avec Zip CRÉATION ,MODIFICATION DES TAG ID3 V1 LECTURE DES TAGS ID3 V... par aloneinthedark
Source avec Zip Source avec une capture ECRITURE DE TAG ID3 V1 ET V2 POUR FICHIERS MP3 par BobTSMSI
Source avec Zip Source avec une capture YOMMMP3TAG V2 - EDITEUR DE TAGV1 V2.2 ET V2.3 POUR MP3 , MP3... par yomm
Source avec Zip Source avec une capture "MPEG FILE INFO BOX + ID3 TAG EDITOR" (OCX) ET NON, PAS ENCO... par yomm

Commentaires et avis

Commentaire de LallThis le 07/03/2002 12:59:36

Salut, deja le site n'existe pas.
y'a pas le source sur VBFrance.com

Et moi je voudrais bien le voir, car il m'interesse beaucoup et à l'air pas mal du tout.

Merci Bye LallThis

Commentaire de niiizzzz le 10/01/2003 18:01:15

Ya pas moyen d'ecrire??Je sais je suis exigeant comme garcon....

Commentaire de TotoBest le 10/01/2003 19:20:51

pour écrire en v2, c'est bcp plus baleze.

Commentaire de TotoBest le 10/01/2003 19:23:45

au fait, pour répondre aux commentaires précédents, j'ai mis à jour la source: reuploader la source qui déconnait (le dd du serveur avait crash). J'en ai profité pour ajouter des captures d'écrans.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Supprimer le tag ID3v2 d'un mp3... [ par wouha ] Salut tout le monde...Alors voilà j'ai un tit problème, je me suis créé un tit programme pour pouvoir trier rapidement mes MP3...Le seul truc qui manq Pb pour le genre d'un tag MP3 [ par homer35 ] Bonjour, j'ai fait une classe qui permet de lire les tags contenus dans un fichiers MP3. J'utilise une structure pour stocker mon tag : &nbsp;&nbsp mp3 tag [ par Jamsss ] Salut,Je voudrais savoir quelle est la différence entre les tags v1 et v2: Je sais que ça correspond aux 128 derniers octets du fichier mais pourquoi TAG MP3 [ par belkzem ] Bonjour Je suis nouveau dans le monde MAC ,et je cherche une application simple pour pouvoir trier et ajoute les pochette a mes MP3. Itune trouve d problème à l'écriture d'un Tag MP3 [ par Daemonight ] Hello !cela&nbsp;fait un petit bout de temps que je me prends la t&#234;te sur un &#233;pineux probl&#232;me :je suis en train de faire un prog (non , MP3 ID3v2 [ par Seth ] Je cherche un code souce VB permettant de lire/ecrire les tags ID3v2 utiliser dans WinampMerci d avance ! Tag ID3 d'un MP3 [ par MEGATRIX ] Comment tager un mp3 sur l'ID3et aussi si possible le lire?merci@++Megatrix Tag ID3 d'un MP3 [ par MEGATRIX ] Comment tager un mp3 sur ID3et le lire si possible?merci@++Megatrix Comment modifier tag MP3 (écrire ds fichier mp3) [ par maxilly ] Help !Pas possible de trouver source pour modifier/écrire les tag idv ds fichier MP3.Les sources pour lire ces tag sont profusions... en binaire, mais TAG MP3 SVP JE NE COMPRENDS RIEN !!! [ par z980x ] Quelqu'un peut t-il svp me dire comment LIRE des tags de fichiers mp3...Seulement les trucs les plus communs...JE NE COMPRENDS ABSOLUMENT RIEN AUX TRU


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales