`
luckliu521
  • 浏览: 258932 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mp3的标签类型和编码

阅读更多
mp3的标签类型和编码,现在主要存在这几种标准,ID3v1、ID3v2 2.3、ID3v2 2.4、APEv2。它们分别支持的编码为

  ID3v1:只支持ISO--8859-1

  ID3v2 2.3:ISO--8859-1、UTF-16

  ID3v2 2.4:ISO--8859-1、UTF-16、UTF-8

  APEv2:UTF-8

统计 [金常] - 下载数(本站、外站) - 运行次数 - 在线时长

二、标签帧
  每个标签帧都有一个10个字节的帧头和至少一个字节的不固定长度的内容组成。它们也是顺序存放在文件中,和标签头和其他的标签帧也没有特殊的字符分隔。得到一个完整的帧的内容只有从帧头中得到内容大小后才能读出,读取时要注意大小,不要将其他帧的内容或帧头读入。
  帧头的定义如下:
  char FrameID[4]; /*用四个字符标识一个帧,说明其内容,稍后有常用的标识对照表*/
  char Size[4]; /*帧内容的大小,不包括帧头,不得小于1*/
  char Flags[2]; /*存放标志,只定义了6位,稍后详细解说*/
  1.帧标识
  用四个字符标识一个帧,说明一个帧的内容含义,常用的对照如下:
  TIT2=标题 表示内容为这首歌的标题,下同
  TPE1=作者
  TALB=专集
  TRCK=音轨 格式:N/M 其中N为专集中的第N首,M为专集中共M首,N和M为ASCII码表示的数字
  TYER=年代 是用ASCII码表示的数字
  TCON=类型 直接用字符串表示
  COMM=备注 格式:"eng\0备注内容",其中eng表示备注所使用的自然语言
  2.大小
  这个可没有标签头的算法那么麻烦,每个字节的8位全用,格式如下
  xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
  算法如下:
  int FSize;
  FSize = Size[0]*0x1000000
  +Size[1]*0x10000
  +Size[2]*0x100
  +Size[3];
  3.标志
  只定义了6位,另外的10位为0,但大部分的情况下16位都为0就可以了。格式如下:
  abc00000 ijk00000
  a -- 标签保护标志,设置时认为此帧作废
  b -- 文件保护标志,设置时认为此帧作废
  c -- 只读标志,设置时认为此帧不能修改(但我没有找到一个软件理会这个标志)
  i -- 压缩标志,设置时一个字节存放两个BCD码表示数字
  j -- 加密标志,(没有见过哪个MP3文件的标签用了加密)
  k -- 组标志,设置时说明此帧和其他的某帧是一组
  值得一提的是winamp在保存和读取帧内容的时候会在内容前面加个'\0',并把这个字节计算在帧内容的大小中。
  附:帧标识的含义
  4. Declared ID3v2 frames
  The following frames are declared in this draft.
  AENC Audio encryption
  APIC Attached picture
  COMM Comments
  COMR Commercial frame
  ENCR Encryption method registration
  EQUA Equalization
  ETCO Event timing codes
  GEOB General encapsulated object
  GRID Group identification registration
  IPLS Involved people list
  LINK Linked information
  MCDI Music CD identifier
  MLLT MPEG location lookup table
  OWNE Ownership frame
  PRIV Private frame
  PCNT Play counter
  POPM Popularimeter
  POSS Position synchronisation frame
  RBUF Recommended buffer size
  RVAD Relative volume adjustment
  RVRB Reverb
  SYLT Synchronized lyric/text
  SYTC Synchronized tempo codes
  TALB Album/Movie/Show title
  TBPM BPM (beats per minute)
  TCOM Composer
  TCON Content type
  TCOP Copyright message
  TDAT Date
  TDLY Playlist delay
  TENC Encoded by
  TEXT Lyricist/Text writer
  TFLT File type
  TIME Time
  TIT1 Content group description
  TIT2 Title/songname/content description
  TIT3 Subtitle/Description refinement
  TKEY Initial key
  TLAN Language(s)
  TLEN Length
  TMED Media type
  TOAL Original album/movie/show title
  TOFN Original filename
  TOLY Original lyricist(s)/text writer(s)
  TOPE Original artist(s)/performer(s)
  TORY Original release year
  TOWN File owner/licensee
  TPE1 Lead performer(s)/Soloist(s)
  TPE2 Band/orchestra/accompaniment
  TPE3 Conductor/performer refinement
  TPE4 Interpreted, remixed, or otherwise modified by
  TPOS Part of a set
  TPUB Publisher
  TRCK Track number/Position in set
  TRDA Recording dates
  TRSN Internet radio station name
  TRSO Internet radio station owner
  TSIZ Size
  TSRC ISRC (international standard recording code)
  TSSE Software/Hardware and settings used for encoding
  TYER Year
  TXXX User defined text information frame
  UFID Unique file identifier
  USER Terms of use
  USLT Unsychronized lyric/text transcription
  WCOM Commercial information
  WCOP Copyright/Legal information
  WOAF Official audio file webpage
  WOAR Official artist/performer webpage
  WOAS Official audio source webpage
  WORS Official internet radio station homepage
  WPAY Payment
  WPUB Publishers official webpage
  WXXX User defined URL link frame
分享到:
评论

相关推荐

    可以批量清出MP3标签的程序

    然而,有时由于编码问题或导入错误,MP3标签可能会出现乱码,导致播放器显示不正常,影响听歌体验。为了应对这种情况,我们需要一款能够批量清出MP3标签的程序。 批量清出MP3标签的程序设计原理主要基于ID3标签标准...

    获取和修改mp3的标签信息

    C、C++、VC(Visual C++)和MFC(Microsoft Foundation Classes)是编程语言和框架,它们可以用来开发处理MP3标签的程序。MFC是微软提供的一个C++类库,用于构建Windows应用程序,它简化了与Windows API的交互,包括...

    使用audio标签播放mp3,amr,wav文件

    本文将详细讲解如何使用`<audio>`标签来播放不同格式的音频文件,包括mp3, amrnb和wav,并讨论可能遇到的兼容性问题以及解决方案。 一、`<audio>`标签的基本使用 `<audio>`标签是HTML5中的一个核心元素,它允许...

    MP3文件ID3v2,ID3v2,APEv2标签读取

    在实际项目中,通常会创建一个通用的接口,通过函数参数指定标签类型(ID3v2或APEv2),然后解析对应的元数据。此外,为了提高用户体验,还应该考虑如何优雅地处理缺少标签或格式不正确的文件。 总结来说,处理MP3...

    ID3Class【ID3v1、ID3v2标签读取修改】

    首先,ID3v1标签是最早被引入的标准,它位于MP3文件的末尾,包含有限的信息字段,如标题、艺术家、专辑、年份、曲目类型和评论。每个字段都有固定长度,总共占据128字节。ID3v1标签虽然简单易用,但不支持Unicode...

    歌曲ID标签清除器Mp3tag.rar

    2. ** Mp3tag 功能**:除了清除ID标签,还支持编辑、导入导出标签信息,转换编码格式,重命名文件基于标签信息,以及获取在线音乐数据库(如Gracenote, MusicBrainz)的元数据来自动填充标签。 3. **批量处理**:...

    mp3编码详细解原理

    根据提供的信息,我们可以深入探讨MP3编码的基本原理及其在音频压缩技术中的应用。MP3(MPEG Audio Layer III)是一种广泛使用的...通过对这些技术细节的理解,可以帮助我们更好地掌握MP3编码的工作原理和技术实现。

    详细mp3文件的编码数据 格式说明 中文pdf

    MP3是一种流行的数字音频编码和有损压缩格式,它的设计目的是大幅减少音频数据量的同时,保持高质量的声音播放效果。这种格式由德国埃尔朗根的Fraunhofer-Gesellschaft研究机构在1991年发明并标准化。 #### 二、MP3...

    lrc歌词编码转换

    “utf-8”和“gb2312”标签分别指出了涉及的两种编码格式。 在压缩包子文件的文件名称列表中,“utf8TOgb2312”可能是这个转换程序的主程序或者配置文件,它的作用是从UTF-8编码的lrc文件转换为GB2312编码。运行这...

    获取MP3中的ID3V1、ID3V2信息.rar_MP3 ID3_id3_id3v2_mp3 tag_mp3 信息

    在音乐文件格式中,MP3是最为常见的音频文件类型之一,而MP3文件中的元数据主要通过ID3标签来存储,包括歌曲名称、艺术家、专辑、年份等信息。ID3标签分为两个主要版本:ID3V1和ID3V2,两者在结构和功能上有所不同。...

    MP3文件转C语言16进制数组工具

    首先,理解MP3文件:MP3是一种广泛使用的数字音频编码格式,通过有损压缩技术减小文件大小,同时保持相对高质量的音质。其内部数据结构包含音频流、ID3标签等信息,以二进制形式存储。 其次,C语言16进制数组:在...

    用于解析mp3id信息

    MP3帧可以包含多种类型的编码,如 Layer I, Layer II 或 Layer III(通常称为MP3的三种类型)。 "MPAFileStream.cpp"可能是处理MP3文件流的类,负责读取文件并按需提供帧数据。文件流处理允许程序逐块读取大文件,...

    mpeg3编码器windows

    总的来说,"mpeg3编码器windows"和"L3Codecx"都是与在Windows系统上处理MP3音频编码相关的概念,涉及到音频压缩技术、编解码器软件以及可能的安装程序。理解这些知识点对于那些需要处理音频文件,尤其是希望将音频...

    嵌入式平台定点MP3 压缩库(ARM,MIPS)

    "libshine-fxp"是基于 Shine MP3编码器的一个版本,Shine是一款开源的、快速且高效的MP3编码器,它提供了多种质量设置以适应不同的应用场景。"fxp"可能表示“fixed-point”,强调该库已经过修改以适应定点计算。这...

    字符串的哈夫曼编码

    - 压缩后的字符串可以通过`System.IO.File`类的`WriteAllBytes`方法保存为二进制文件,或者以文本形式保存编码和解码所需的哈夫曼树信息。 - 读取文件时,先解析保存的哈夫曼树信息重建哈夫曼树,然后解码二进制...

    DELPHI MP3播放器多个类型文件

    DELPHI MP3播放器是一种基于DELPHI编程语言开发的多媒体软件,它允许用户播放多种类型的音频文件,包括但不限于MP3格式。DELPHI,全称Borland Delphi,是一款强大的对象 Pascal 编程工具,以其高效的编译器和易用的...

    mp3播放器c语言版

    【标签】"mp3"指的是MP3音频格式,这是一种广泛使用的数字音频编码标准,通过有损压缩技术减小文件大小,同时保持相对高质量的声音。"c语言"是编程领域基础且重要的语言,以其高效、灵活和广泛的应用范围著称。结合...

    mp3解析文档及其分析工具

    MP3通过熵编码(如 Huffman 编码)和预测编码(如MDCT,即离散余弦变换)来降低音频数据的冗余,实现高效压缩。 二、解析MP3文档 解析MP3文件时,首先需要读取文件头,获取文件的基本信息,如ID3标签(ID3v1或ID3v2...

    num格式转MP3的源码

    MP3文件的结构遵循ID3标签标准,可以包含歌曲信息如艺术家、专辑和曲目标题。 3. **音频编码与解码**:音频编码是将原始的模拟音频信号转化为数字表示的过程,而解码则是相反的过程。在从Num转MP3的过程中,需要...

    amr转mp3格式jar包

    在这个过程中,jar包中的类和方法可能包括了读取AMR文件、解码AMR数据、使用特定的MP3编码算法(如LAME)编码数据,最后写入MP3文件的逻辑。开发者可以调用这些功能,通过编写简单的Java代码,实现批处理或交互式的...

Global site tag (gtag.js) - Google Analytics