惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园_首页
WordPress大学
WordPress大学
罗磊的独立博客
小众软件
小众软件
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The Cloudflare Blog
GbyAI
GbyAI
C
Check Point Blog
腾讯CDC
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
博客园 - 聂微东
IT之家
IT之家
雷峰网
雷峰网
H
Help Net Security
博客园 - 叶小钗
美团技术团队
D
DataBreaches.Net

时间的朋友

Windows 命令行密码重置 Anaconda安装 typescript 注解解读1 Konvajs Shape加载自定义图片 sshpass 使用 why-is-node-running webgl笔记 SharedArrayBuffer is not defined blender 常用快捷键 | 时间的朋友 vue -- v3.4commit提交记录2 vue2 升级vue3报错问题整理 着色器 expressjs 源码 hyper-V arch linux 网络配置 element input数字格式化 three 拼接货架 WebAudio笔记 Windows nginx重启bat脚本 vue -- v3.4commit提交记录 URI malformed vue3 -- Class 对象在组件中使用范例 | 时间的朋友 ruby 安装和升级 element-plus 老版本cascader使用卡死问题 vue3 内置Transition组件 | 时间的朋友 前端memo的实现 | 时间的朋友 Vue -- vue-class-component源码 | 时间的朋友 linux 优化脚本 typescript 装饰器 | 时间的朋友 microbundle 源码 | 时间的朋友 WSL2问题解决WslRegisterDistribution failed with error: 0x800701bc
mp3 数据结构 | 时间的朋友
2022-06-01 · via 时间的朋友

Published: · LastMod: June 25, 2022 · 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