MP3音频文件信息ID3

    技术2022-05-20  52

          ID3,一般是位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版。 其中:v1版的ID3在mp3文件的末尾128字节,以TAG三个字符开头,后面跟上歌曲信息。 v2版一般位于mp3的开头,可以存储歌词,该专辑的图片等大容量的信息。

          V1版:文件后面的128个字节

    struct music{ char Header[3];    /*标签头必须是"TAG"否则认为没有标签*/ char Title[30];    /*标题*/ char Artist[30];   /*作者*/ char Album[30];    /*专集*/ char Year[4];    /*出品年代*/ char Comment[30];   /*备注*/ char Genre;    /*类型*/};

        V2版:包括开头的10个标签头字节和后面的标签帧(帧头和具体内容),信息是一帧一帧存储的。

    struct tagHeader{//标签头 char Header[3];//必须为ID3,否则认为标签不存在 char Ver;//版本号;ID3V2.3就记录03,ID3V2.4就记录04 char Revision;//副版本号;此版本记录为00 char Flag;//存放标志的字节 char Size[4];//标签大小,包括标签帧和扩展标签头,不包括标签头的10个字节};

    struct tagFrame{//帧头 char FrameID[4];//用四个字符标识一个帧,说明其内容,稍后有常用的标识对照表 char Size[4];//帧内容的大小,不包括帧头,不得小于1,为具体内容的大小。 char Flags[2];//存放标志,只定义了6位};

          常用的对照如下:

      TIT2=标题 表示内容为这首歌的标题,下同

      TPE1=作者

      TALB=专集

      TRCK=音轨 格式:N/M 其中N为专集中的第N首,M为专集中共M首,N和M为ASCII码表示的数字

      TYER=年代 是用ASCII码表示的数字

      TCON=类型 直接用字符串表示

      COMM=备注 格式:"eng/0备注内容",其中eng表示备注所使用的自然语言 注意:帧头后面一般有一个字节为0,所以要跳过这个字节取得具体的内容。

     


    最新回复(0)