2024年3月28日发(作者:)
MP3全称为 MPEG1 Layer-3 音频, MPEG1 是标准中的声音部
分, MPEG1 根据压缩质量和编码规则分为三层, Layer-1,
Layer-2, Layer-3, Layer-3的压缩比最高,MP3就专指MPEG1
Layer-3.
(一)MP3文件的组成
概述:MP3文件由三部分组成, TAR_V2(ID3V2), Frame,
TAR_V1(ID3V1), ID3V1 和 ID3V2 中记录了歌曲的信息, 比
如歌曲名, 歌手等信息, ID3V1在文件的最后128个字节中, ID3V2
在文件的最开头, 作为ID3V1信息的扩充, 大小事不固定的,
Frame是MP3中的重要部分, 是记录声音信息的部分, 每个Frame
包括 帧头,附加信息和主数据。
ID3V2:ID3V2位于文件的最开头, 它包含一个10字节头标签:
char Header[3]; /*必须为"ID3"否则认为标签不存在*/
char Ver; /*版本号ID3V2.3就记录3*/
char Revision; /*副版本号此版本记录为0*/
char Flag; /*存放标志的字节,这个版本只定义了三位*/
char Size[4]; /*标签大小,包括标签头的10个字节和所有的标签帧的大小*/
可以根据Header是否为ID3 来判断是否存在ID3v2信息, 头标
签之后是 标签帧, 可以通过Size 求得 头标签和标签帧的总大小,
Size共4个字节, 么个字节的最高位不用, 取每个字节的低7位组
成一个二进制数, 这个数就是头标签和标签帧的总大小, 标签帧
的大小是不固定的, 标签帧中存储了具体ID3V2信息, 每个标签
帧包括一个帧头和数据实体,数据实体的大小必须大于或等于1, 帧
头定义如下:
char FrameID[4]; /*用四个字符标识一个帧,说明其内容*/
char Size[4]; /*帧内容的大小,不包括帧头,不得小于 1*/
char Flags[2]; /*存放标志,只定义了 6 位*/
FrameID 中标记了此标签帧中的数据表示的是什么, 比如歌手,
歌名, 等,具体的表示如下:
TEXT:
WXXX:
TOPE:
TDAT:
TPE2:
TPE4:
USLT:
TIT1:
TIT3:
TBPM:
TDLY:
TFLT:
歌词作者
URL链接(URL)
原艺术家
日期
乐队
翻译(记录员、修改员)
歌词
内容组描述
副标题
每分钟节拍数
播放列表返录
文件类型
TENC:
TCOP:
TCOM:
TPE3:
TPE1:
TYER:
TALB:
TIT2:
TCON:
COMM:
TRCK:
TIME:
编码
版权(Copyright)
作曲家
指挥者
艺术家相当于ID3v1的Artist
年代相当于ID3v1的Year
专辑相当于ID3v1的Album
标题相当于ID3v1的Title
流派(风格)相当于ID3v1
的Genre见下表
注释相当于
Comment
ID3v1的
音轨(曲号)相当于ID3v1
的Track
时间
TKEY:
TLEN:
TOAL:
TOLY:
TOWM:
TPUB:
TRSN:
TSIZ:
TSSE:
AENC:
最初关键字
长度
原唱片集
原歌词作者
文件所有者(许可证者)
发行人
Intenet电台名称
大小
音频加密技术
TLAN:
TMED:
TOFN:
TORY:
TPOS:
TRDA:
TRSO:
TSRC:
语言
媒体类型
原文件名
最初发行年份
作品集部分
录制日期
Intenet电台所有者
ISRC(国际的标准记录代码)
唯一的文件标识符
编码使用的软件(硬件设置)
UFID:
Size 表示 此标签帧的数据的大小, 每个字节的8个位都是有效的。


发布评论