MP3格式相关基础知识2

本文介绍了MP3 ID3 V2标签的结构,包括标签头、帧头和帧标识的详细信息。讲解了如何解析标签头的大小、版本、标志以及帧头的ID和大小,并提供了简单的匹配与长度获取函数。内容涵盖了标签头的10字节固定部分,以及常见的帧ID定义,如标题、作者、专辑等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
mp3 id3 v2帧信息:标签头、帧头、帧标识。
注意:ID3 V2信息在MP3文件的头部,ID3 V1信息在MP3文件尾部。

标签头大小固定为10字节,宏定义如下:
#define ID3_V2_HEADER_SIZE (10)

音频 ID3 v2格式,结构体定义如下:
//固定10字节,标签头
struct id3_v2_hdl {
char header[3]; // ID3
char ver; // 版本号
char revision; // 副版本号
char flag; // 标志
u8 size[4]; // 所有标签帧的总大小,不包括标签头的10个字节
};

注意:header必须为ID3三个固定字符。
flag使用了高4bit。abcd0000。
  a – 表示是否使用 Unsynchronisation(这个单词不知道是什么意思,字典里也没有找到,一般不设置);
  b – 表示是否有扩展头部,一般没有(至少 Winamp 没有记录),所以一般也不设置
  c – 表示是否为测试标签(99.99%的标签都不是测试用的啦,所以一般也不设置)
  d–表示为了加快从文件末尾搜索时查找ID3v2标记的过程,可以在标记中添加页脚。需要将页脚添加到附加标签,即位于所有音频数据之后的标签。页脚是页眉的副本,但具有不同的标识符。
size表示所有标签帧的总大小。每个字节仅使用低7bit。

帧头:
struct id3_v2_frame {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值