begin process at 2010 02 10 05:55:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Multimédia

 > RÉCUPÉRATION DE TAGS MP3

RÉCUPÉRATION DE TAGS MP3


 Information sur la source

Note :
Aucune note
Catégorie :Multimédia Source .NET ( DotNet ) Classé sous :tag, tags, mp3 Niveau :Initié Date de création :26/10/2006 Date de mise à jour :27/10/2006 09:22:24 Vu :10 343

Auteur : Moomoon07

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

 Description

Récupération des différents tags du fichier MP3 en paramêtre (chemin complet)

- public string getAlbum(string MP3)
- public string getGenre(string MP3)
- public string getArtiste(string MP3)
- public string getTitre(string MP3)

Source

  • class MesOutils
  • {
  • public MesOutils()
  • {
  • }
  • public string getAlbum(string MP3)
  • {
  • FileStream FS = new FileStream(MP3, FileMode.Open);
  • byte[] Buffer = new byte[4];
  • int[] nb = new int[4];
  • FS.Seek(0, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 3);
  • Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
  • string filetype = instEncoding.GetString(Buffer);
  • string valTag;
  • int fs = 1;
  • if (filetype.StartsWith("ID3"))
  • {
  • FS.Seek(6, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
  • nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
  • nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
  • nb[0] = ((Buffer[0] >> 3) & 15);
  • ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);
  • int TagSize = Convert.ToInt32(FrameSize);
  • string flag;
  • int i = 0;
  • while (i < TagSize && fs > 0)
  • {
  • i += 10;
  • FS.Seek(i, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • flag = instEncoding.GetString(Buffer);
  • FS.Seek(i + 4, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));
  • byte[] s = new byte[fs];
  • FS.Seek(i + 10, SeekOrigin.Begin);
  • FS.Read(s, 0, fs);
  • Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();
  • char[] chars = new Char[d.GetCharCount(s, 0, fs)];
  • int charLen = d.GetChars(s, 0, s.Length, chars, 0);
  • valTag = "";
  • for (int j = 0; j < chars.Length; j++)
  • {
  • if (chars[j].ToString() != "\0")
  • {
  • valTag += chars[j].ToString();
  • }
  • }
  • if (flag.CompareTo("TALB") == 0)
  • {
  • FS.Close();
  • return valTag.TrimEnd('\0');
  • }
  • i += fs;
  • }
  • FS.Close();
  • return "";
  • }
  • else { FS.Close(); return ""; }
  • }
  • public string getGenre(string MP3)
  • {
  • FileStream FS = new FileStream(MP3, FileMode.Open);
  • byte[] Buffer = new byte[4];
  • int[] nb = new int[4];
  • FS.Seek(0, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 3);
  • Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
  • string filetype = instEncoding.GetString(Buffer);
  • string valTag;
  • int fs = 1;
  • if (filetype.StartsWith("ID3"))
  • {
  • FS.Seek(6, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
  • nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
  • nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
  • nb[0] = ((Buffer[0] >> 3) & 15);
  • ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);
  • int TagSize = Convert.ToInt32(FrameSize);
  • string flag;
  • int i = 0;
  • while (i < TagSize && fs > 0)
  • {
  • i += 10;
  • FS.Seek(i, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • flag = instEncoding.GetString(Buffer);
  • FS.Seek(i + 4, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));
  • byte[] s = new byte[fs];
  • FS.Seek(i + 10, SeekOrigin.Begin);
  • FS.Read(s, 0, fs);
  • Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();
  • char[] chars = new Char[d.GetCharCount(s, 0, fs)];
  • int charLen = d.GetChars(s, 0, s.Length, chars, 0);
  • valTag = "";
  • for (int j = 0; j < chars.Length; j++)
  • {
  • if (chars[j].ToString() != "\0")
  • {
  • valTag += chars[j].ToString();
  • }
  • }
  • if (flag.CompareTo("TCON") == 0)
  • {
  • FS.Close();
  • return valTag.TrimEnd('\0');
  • }
  • i += fs;
  • }
  • FS.Close();
  • return "";
  • }
  • else { FS.Close(); return ""; }
  • }
  • public string getArtiste(string MP3)
  • {
  • FileStream FS = new FileStream(MP3, FileMode.Open);
  • byte[] Buffer = new byte[4];
  • int[] nb = new int[4];
  • FS.Seek(0, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 3);
  • Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
  • string filetype = instEncoding.GetString(Buffer);
  • string valTag;
  • int fs = 1;
  • if (filetype.StartsWith("ID3"))
  • {
  • FS.Seek(6, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
  • nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
  • nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
  • nb[0] = ((Buffer[0] >> 3) & 15);
  • ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);
  • int TagSize = Convert.ToInt32(FrameSize);
  • string flag;
  • int i = 0;
  • while (i < TagSize && fs > 0)
  • {
  • i += 10;
  • FS.Seek(i, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • flag = instEncoding.GetString(Buffer);
  • FS.Seek(i + 4, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));
  • byte[] s = new byte[fs];
  • FS.Seek(i + 10, SeekOrigin.Begin);
  • FS.Read(s, 0, fs);
  • Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();
  • char[] chars = new Char[d.GetCharCount(s, 0, fs)];
  • int charLen = d.GetChars(s, 0, s.Length, chars, 0);
  • valTag = "";
  • for (int j = 0; j < chars.Length; j++)
  • {
  • if (chars[j].ToString() != "\0")
  • {
  • valTag += chars[j].ToString();
  • }
  • }
  • if (flag.CompareTo("TPE1") == 0)
  • {
  • FS.Close();
  • return valTag.TrimEnd('\0');
  • }
  • i += fs;
  • }
  • FS.Close();
  • return "";
  • }
  • else { FS.Close(); return ""; }
  • }
  • public string getTitre(string MP3)
  • {
  • FileStream FS = new FileStream(MP3, FileMode.Open);
  • byte[] Buffer = new byte[4];
  • int[] nb = new int[4];
  • FS.Seek(0, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 3);
  • Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
  • string filetype = instEncoding.GetString(Buffer);
  • string valTag;
  • int fs = 1;
  • if (filetype.StartsWith("ID3"))
  • {
  • FS.Seek(6, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
  • nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
  • nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
  • nb[0] = ((Buffer[0] >> 3) & 15);
  • ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);
  • int TagSize = Convert.ToInt32(FrameSize);
  • string flag;
  • int i = 0;
  • while (i < TagSize && fs > 0)
  • {
  • i += 10;
  • FS.Seek(i, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • flag = instEncoding.GetString(Buffer);
  • FS.Seek(i + 4, SeekOrigin.Begin);
  • FS.Read(Buffer, 0, 4);
  • fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));
  • byte[] s = new byte[fs];
  • FS.Seek(i + 10, SeekOrigin.Begin);
  • FS.Read(s, 0, fs);
  • Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();
  • char[] chars = new Char[d.GetCharCount(s, 0, fs)];
  • int charLen = d.GetChars(s, 0, s.Length, chars, 0);
  • valTag = "";
  • for (int j = 0; j < chars.Length; j++)
  • {
  • if (chars[j].ToString() != "\0")
  • {
  • valTag += chars[j].ToString();
  • }
  • }
  • if (flag.CompareTo("TIT2") == 0)
  • {
  • FS.Close();
  • return valTag.TrimEnd('\0');
  • }
  • i += fs;
  • }
  • FS.Close();
  • return "";
  • }
  • else { FS.Close(); return ""; }
  • }
  • }
	class MesOutils
    {
        public MesOutils()
        {
        }

        public string getAlbum(string MP3)
        {
            FileStream FS = new FileStream(MP3, FileMode.Open);
            byte[] Buffer = new byte[4];
            int[] nb = new int[4];
            FS.Seek(0, SeekOrigin.Begin);
            FS.Read(Buffer, 0, 3);
            Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
            string filetype = instEncoding.GetString(Buffer);
            string valTag;
            int fs = 1;
            if (filetype.StartsWith("ID3"))
            {
                FS.Seek(6, SeekOrigin.Begin);
                FS.Read(Buffer, 0, 4);

                nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
                nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
                nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
                nb[0] = ((Buffer[0] >> 3) & 15);

                ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);

                int TagSize = Convert.ToInt32(FrameSize);
                string flag;
                int i = 0;

                while (i < TagSize && fs > 0)
                {
                    i += 10;
                    FS.Seek(i, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    flag = instEncoding.GetString(Buffer);
                    FS.Seek(i + 4, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));

                    byte[] s = new byte[fs];
                    FS.Seek(i + 10, SeekOrigin.Begin);
                    FS.Read(s, 0, fs);
                    Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();

                    char[] chars = new Char[d.GetCharCount(s, 0, fs)];
                    int charLen = d.GetChars(s, 0, s.Length, chars, 0);

                    valTag = "";
                    for (int j = 0; j < chars.Length; j++)
                    {
                        if (chars[j].ToString() != "\0")
                        {
                            valTag += chars[j].ToString();
                        }
                    }

                    if (flag.CompareTo("TALB") == 0)
                    {
                        FS.Close();
                        return valTag.TrimEnd('\0');
                    }
                    i += fs;
                }
                FS.Close();
                return "";
            }
            else { FS.Close(); return ""; }
        }
        public string getGenre(string MP3)
        {
            FileStream FS = new FileStream(MP3, FileMode.Open);
            byte[] Buffer = new byte[4];
            int[] nb = new int[4];
            FS.Seek(0, SeekOrigin.Begin);
            FS.Read(Buffer, 0, 3);
            Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
            string filetype = instEncoding.GetString(Buffer);
            string valTag;
            int fs = 1;
            if (filetype.StartsWith("ID3"))
            {
                FS.Seek(6, SeekOrigin.Begin);
                FS.Read(Buffer, 0, 4);

                nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
                nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
                nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
                nb[0] = ((Buffer[0] >> 3) & 15);

                ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);

                int TagSize = Convert.ToInt32(FrameSize);
                string flag;
                int i = 0;

                while (i < TagSize && fs > 0)
                {
                    i += 10;
                    FS.Seek(i, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    flag = instEncoding.GetString(Buffer);
                    FS.Seek(i + 4, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));

                    byte[] s = new byte[fs];
                    FS.Seek(i + 10, SeekOrigin.Begin);
                    FS.Read(s, 0, fs);
                    Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();

                    char[] chars = new Char[d.GetCharCount(s, 0, fs)];
                    int charLen = d.GetChars(s, 0, s.Length, chars, 0);

                    valTag = "";
                    for (int j = 0; j < chars.Length; j++)
                    {
                        if (chars[j].ToString() != "\0")
                        {
                            valTag += chars[j].ToString();
                        }
                    }

                    if (flag.CompareTo("TCON") == 0)
                    {
                        FS.Close();
                        return valTag.TrimEnd('\0');
                    }
                    i += fs;
                }
                FS.Close();
                return "";
            }
            else { FS.Close(); return ""; }
        }
        public string getArtiste(string MP3)
        {
            FileStream FS = new FileStream(MP3, FileMode.Open);
            byte[] Buffer = new byte[4];
            int[] nb = new int[4];
            FS.Seek(0, SeekOrigin.Begin);
            FS.Read(Buffer, 0, 3);
            Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
            string filetype = instEncoding.GetString(Buffer);
            string valTag;
            int fs = 1;
            if (filetype.StartsWith("ID3"))
            {
                FS.Seek(6, SeekOrigin.Begin);
                FS.Read(Buffer, 0, 4);

                nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
                nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
                nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
                nb[0] = ((Buffer[0] >> 3) & 15);

                ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);

                int TagSize = Convert.ToInt32(FrameSize);
                string flag;
                int i = 0;

                while (i < TagSize && fs > 0)
                {
                    i += 10;
                    FS.Seek(i, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    flag = instEncoding.GetString(Buffer);
                    FS.Seek(i + 4, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));

                    byte[] s = new byte[fs];
                    FS.Seek(i + 10, SeekOrigin.Begin);
                    FS.Read(s, 0, fs);
                    Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();

                    char[] chars = new Char[d.GetCharCount(s, 0, fs)];
                    int charLen = d.GetChars(s, 0, s.Length, chars, 0);

                    valTag = "";
                    for (int j = 0; j < chars.Length; j++)
                    {
                        if (chars[j].ToString() != "\0")
                        {
                            valTag += chars[j].ToString();
                        }
                    }

                    if (flag.CompareTo("TPE1") == 0)
                    {
                        FS.Close();
                        return valTag.TrimEnd('\0');
                    }
                    i += fs;
                }
                FS.Close();
                return "";
            }
            else { FS.Close(); return ""; }
        }
        public string getTitre(string MP3)
        {
            FileStream FS = new FileStream(MP3, FileMode.Open);
            byte[] Buffer = new byte[4];
            int[] nb = new int[4];
            FS.Seek(0, SeekOrigin.Begin);
            FS.Read(Buffer, 0, 3);
            Encoding instEncoding = System.Text.Encoding.GetEncoding(1252);
            string filetype = instEncoding.GetString(Buffer);
            string valTag;
            int fs = 1;
            if (filetype.StartsWith("ID3"))
            {
                FS.Seek(6, SeekOrigin.Begin);
                FS.Read(Buffer, 0, 4);

                nb[3] = Buffer[3] | ((Buffer[2] & 1) << 7);
                nb[2] = ((Buffer[2] >> 1) & 63) | ((Buffer[1] & 3) << 6);
                nb[1] = ((Buffer[1] >> 2) & 31) | ((Buffer[0] & 7) << 5);
                nb[0] = ((Buffer[0] >> 3) & 15);

                ulong FrameSize = 10 + (ulong)nb[3] | ((ulong)nb[2] << 8) | ((ulong)nb[1] << 16) | ((ulong)nb[0] << 24);

                int TagSize = Convert.ToInt32(FrameSize);
                string flag;
                int i = 0;

                while (i < TagSize && fs > 0)
                {
                    i += 10;
                    FS.Seek(i, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    flag = instEncoding.GetString(Buffer);
                    FS.Seek(i + 4, SeekOrigin.Begin);
                    FS.Read(Buffer, 0, 4);
                    fs = Convert.ToInt32(((uint)Buffer[0] << 24) + ((uint)Buffer[1] << 16) + ((uint)Buffer[2] << 8) + ((uint)Buffer[3]));

                    byte[] s = new byte[fs];
                    FS.Seek(i + 10, SeekOrigin.Begin);
                    FS.Read(s, 0, fs);
                    Decoder d = Encoding.GetEncoding("iso-8859-1").GetDecoder();

                    char[] chars = new Char[d.GetCharCount(s, 0, fs)];
                    int charLen = d.GetChars(s, 0, s.Length, chars, 0);

                    valTag = "";
                    for (int j = 0; j < chars.Length; j++)
                    {
                        if (chars[j].ToString() != "\0")
                        {
                            valTag += chars[j].ToString();
                        }
                    }

                    if (flag.CompareTo("TIT2") == 0)
                    {
                        FS.Close();
                        return valTag.TrimEnd('\0');
                    }
                    i += fs;
                }
                FS.Close();
                return "";
            }
            else { FS.Close(); return ""; }
        }
    }



 Historique

27 octobre 2006 09:22:24 :
Les méthodes ont été regroupées dans une classe.

 Sources du même auteur

Source .NET (Dotnet) IMPRESSION DE FICHIERS WORD/EXCEL

 Sources de la même categorie

Source avec Zip REDIMENSION D'IMAGE EN C# par VinceMonkeyz
Source avec Zip Source avec une capture Source .NET (Dotnet) SOUND EDITOR - UN PETIT LOGICIEL DE DSP AUDIO par MaxSoldier
Source avec Zip Source avec une capture Source .NET (Dotnet) "SURFACE LIKE" EN SILVERLIGHT par Malkuth
Source avec Zip Source avec une capture Source .NET (Dotnet) LAMINE PLAYER par ouadjaout
Source avec Zip Source avec une capture Source .NET (Dotnet) PROJET EDUCATIF : CD INTERACTIF DU PROJET PUISSANCE QUATRE. par mechtaly

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) SOUND EDITOR - UN PETIT LOGICIEL DE DSP AUDIO par MaxSoldier
Source avec Zip Source avec une capture Source .NET (Dotnet) LAMINE PLAYER par ouadjaout
Source avec Zip Source avec une capture Source .NET (Dotnet) TRI ET GROUPEMENT DE FICHIERS .MP3 SELON LE CONTENU DE LEURS... par Vallorbain
Source avec Zip Source .NET (Dotnet) TAG ID3 MP3 par Bidou
Source avec Zip Source .NET (Dotnet) EDITEUR DE TAG MP3 ET PLAYER DE MP3 par christophed

Commentaires et avis

Commentaire de Moomoon07 le 26/10/2006 15:58:55

Des sources de ce type existent déja sur le forum, mais lorsque j'en ai eu besoin, je me suis aperçu qu'il y avait beaucoup de problême d'encodage. (Clin d'oeil à Bidou)

Commentaire de Kleidp le 26/10/2006 16:25:49

Code intéréssant mais pourrais tu le mettre sous la forme de classe (bien plus pratique).

Tu le sais surement mais les Tag ID sont en plusieurs versions ..
Idée d'amélioration: Inclure une methode pour la durée d'un morceau.

Voila je testerai quand je serai chez moi (Je me souvien des classes de Bidou, bourrées de bug :)

Commentaire de MorpionMx le 26/10/2006 16:39:24 administrateur CS

Kleidp -> Vas donc recenser les bugs que tu as rencontré dans les commentaires de la source de bidou, histoire qu'il les corrige ;)

Commentaire de Moomoon07 le 26/10/2006 16:53:34

C'est en gros la même source que celle de bidou (en ce qui concerne la LECTURE des tags), à part que j'ai fait une méthode par tag récupéré, et que j 'ai corrigé les erreurs.
Bidou reconnaitra sûrement sa "pâte" puisque je n'ai fait que modifier ses sources.
Les bugs de sa source venaient(si je me rappelle bien) du choix de l'encodage seulement.

Commentaire de Bidou le 26/10/2006 18:19:22 administrateur CS

A vrai dire il s'agissait de ma première source si mes souvenirs sont bons, donc c'est loin d'être la meilleure ^^. Mais je dois avouer qu'à l'époque (ça fait quand même un sacré bout de temps!) je n'avais pas rencontré autrement de bugs...

Si les bugs me sont communiqués, je veux éventuellement bien jeter un oeil (si j'ai du temps libre).

Commentaire de Bidou le 02/11/2006 21:33:54 administrateur CS

Bon j'ai fait une rapide mise à jour de ma source ;-) Puisque qu'apparement les gens s'en plaignait lol.

http://www.csharpfr.com/codes/ID3_26182.aspx

Commentaire de Kleidp le 02/11/2006 23:28:43

Je bosse sur un logiciel d'édition de tag ID3, j'ai pensé à ta source, si tu veux proposer une classe complete: http://fr.wikipedia.org/wiki/ID3 + liens externes

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Lecture de TAG de fichiers mp3 [ par CatRom ] Bonjour,Depuis peu je me suis mis à la programmation en C#, je tente ( le mot est bien choisie ) de realiser un programme qui va renommer des fichiers Encodage des tags MP3 [ par Moomoon07 ] Salut !Voila, j'arrive à récupérer les tags de mp3 quels qu'ils soient, mais les caractères spéciaux me battent. Impossible de récupérer les é, ï, è . Mettre en cache dans le DataSet le contenu d'un fichier xml [ par herve_labenere ] Je réalise actuellement un lecteur MP3. Je stocke au 1er lancement de l'application la liste des mp3 dans un fichier XML. J'utilise pour cela la class textbox : d'où vient l'utilisateur ? [ par Kikuts ] Voilà, j'ai une form sur laquel se trouve environ une 10n de textbox.Ma form est lié à une BdD avec le binding source, tout fonctionne sans problème.< Ajouter des tags (date,note, commentaire...) à une image (Windows Vista) [ par Siteauludo ] Bonjour,Dans Vista, depuis l'explorateur, on peut mettre des tas de "tags" sur une image, comme par exemple la date de la photo, un commentaire, une n récupéré les propriétés (titre,genre etc) d'un MP3 ? [ par superkiller ] bonjour,je suis en train de concevoir un petit logiciel pour gérer des fichiers MP3 .pour le mener a bien il faut que je récupere les propriété et leu Composant FolderBrowserDialog [ par sliverman ] Bonjour à tous,Je voudrais faire un projet en C# qui permettrait de modifier des tag mp3, mais pour le moment je n'en suis pas encore la ...J'aurais v Récupérer durée mp3 [ par sliverman ] Bonjour a tousVoila mon problème...j'ai un listView avec comme header Nom, Taille, Durée mais je n'arrive pas a récupérer la durée du mp3 dans cette l Convertir une durée [ par sliverman ] Bonjour tout le monde,Alors voila, suite à mon problème précédent qui était de récupérer la durée d'un mp3, j'ai donc fait quelque recherche et j'ai t gain MP3 [ par scortex84 ] Bonjour,Les logiciels de traitement audio (style wave editor) sont capables, à l'ouverture d'un fichier son, d'afficher instantanement les différents


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 (3)

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