- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MP3文件标签格式分析和详解
MP3文件标签格式分析和详解
摘要:MP3文件是当今最流行的数字音频文件,曲目标签是MP3文件结构的一部分。掌握了曲目标签格式,便可以编写自己的功能强大的MP3播放器。本文较详细的讲解了几种标签格式,内容全面,准确,可作为开发人员的参考资料。
关键词:MP3 标准 标签 格式
中图分类号:TP391.4 文献标识码:A 文章编号:1007-9416(2014)04-0206-02
1 关于MP3的概念
MP3是MPEG1影音压缩标准下的Layer-3音频压缩编码技术或技术标准,被称作第三代编码技术,压缩率可高达1:10-1:12,是一种高效有损压缩编码格式。在损失少量的不重要的音频数据情况下,能将文件压缩到最小程度,而且还原时能较好地保持原来的音质,是目前最流行的数字音频格式之一。
2 MP3文件结构
MP3文件是由一系列的数据帧和曲目标签两部分构成的。其中:数据帧含有歌曲的压缩数据,是MP3文件必须有的。曲目标签保存的是与歌曲相关的信息如歌曲名、演唱者、专辑、发行年份、歌词等等。最早的MP3文件只有数据帧,曲目标签是对早期MP3格式的扩展,由ID3v1、ID3v2、APEV2几部分组成。其中:
ID3v1标签格式是于1996年由Eric Kemp制定并标准化的,长度128字节,放在文件的最后128字节中。ID3v2标签格式诞生于1998年,放在文件的起始处,长度不固定。APEV2是最新出现的一种标签,长度不固定,位置也不固定,比较常见的是位于数据帧之后ID3v1之前。这几种形式的标签都是可选的,然而在MP3的应用与管理中是非常重要的。
3 ID3v1标签格式
标签长度为128个字节,标识符为字符串“TAG”。各字段的长度和位置是固定的。格式如表1:
应用中发现,有的文件ID3V1标识字段为字符串“TAG”,而其它字段全为0或为空,歌曲风格为0xFF,这样的标签不是曲目制作发行时所提供的标签。
当各字段信息实际长度小于字段长度时,其余部分须用0填充。
歌曲风格编号有效值范围为0-147,所代表的风格或类别可在网上查找。
4 ID3V2标签格式
ID3v2的结构比 ID3V1要复杂得多,长度不固定,可扩展,存储的信息量大,每个字段的长度可伸缩,可以自定义字段。到目前为止,ID3V2一共发展了4个版本,但流行的播放软件只支持第3版,即ID3v2.3。
ID3V2.3标签长度不固定,位于文件的起始处,由一个标签头和若干个标签帧或一个扩展标签头及标签尾组成。ID3V2.3标签包含的标签帧数量不是固定的,但至少要有一个标签帧。可以没有扩展标签头和标签尾。标签头的格式如表2:
标签长度字段说明
◆标签长度字段的四个字节,每个字节只用低7位,最高位恒为0,得到的是一个以28位二进制数表示的标签长度。转换成十进制数的算法如下:
ID3size=Size(0) * H200000 + Size(1) * H4000+Size(2) * H80+Size(3)
◆所计算的标签长度值不包括标签头本身的10个字节。
◆标签长度值所指定的空间可以大于标签帧实际占用的空间,未用的部分空间以0填充,可用于扩展新增的标签信息。
◆去掉各字节的最高位,可避免出现形如FFF这样的数字组合,而FFE或FFF恰恰是数据帧的同步标志。因此这样处理的结果,可以避免出现假同步信号。
ID3V2标签帧格式
每个标签帧相当于ID3V1标签中的一个字段,含有一条与曲目相关的信息。每个标签帧是由一个标签帧头和帧体组成。帧头长10个字节。标签帧体至少含有一个字节,长度不固定。帧头格式如图3、图4:
◆TCON风格或流派有的直接用字符串表示,如“House”,有的是用编号表示。
◆TRCK音轨的格式为:N/M。其中,M表示歌曲总数,N代表歌曲在唱片中的序号。
◆帧内容长度字段各字节的8位全用,组成32位二进制数,被存放在4个元素的字节型或unsigned char型数组中。转换为十进制数的算法如下:
FSize=Size[0]*0x100000000+Size[1]*0x10000+Size[2]*0x100+Size[3]
◆标志字节只定义了6位,分布位置为:abc00000 ijk00000,其中:
a-标签保护标志,置1表明此帧作废,b-文件保护标志,置1表明此帧作废,
c-只读标志,i-压缩标志,置1时一个字节存放两个BCD码表示数,j-加密标志
k-组标志,置1表明此帧和其他的某帧是一组,其余的10位恒为0。
◆ID3v2标签帧内容允许采用不同的字符编码,第一字节中的数字,是用
文档评论(0)