mp3 数据结构

Published: · LastMod: April 07, 2024 · 432 words

mp3数据结构 🔗

MP3文件大体上分为三个部分:ID3V2 + 音频数据 + ID3V1

image.png

id3v1 🔗

id3v1固定128个byte,以tag字符开头

id3v2 🔗

1
2
3
4
5
6
7
8
B[0:2]	标识头,必须为“ID3”
B[3]	版本号,ID3V2.3 就记录3
B[4]	副版本号,此版本记录为0
B[5]	标志字节,一般为0,只使用高三位,其它位为0
			a:表示是否使用Unsynchronisation;
			b:表示是否有扩展头部,一般没有,所以一般也不设置;
			c:表示是否为测试标签,99.99%的标签都不是测试标签,不设置
B[6:9]	标签大小,共四个字节,每个字节只使用低7位,最高位不使用恒为0,计算时将最高位去掉,得到28bit的数据,计算公式如下:Size=(Size[0]&0x7F)*0x200000+(Size[1]&0x7F)*0x400+(Size[2]&0x7F)*0x80+(Size[3]&0x7F)

mp3 frame 🔗

数据帧结构

4字节帧头2字节可选CRC,取决于帧头的第16位32字节通道信息声音数据

4个字节帧头 🔗

image.png