mp3 - MP3 帧的标记?

标签 mp3 file-format

我想问一下每个MP3帧的标记字节?我们如何知道它是来自 MP3 的帧? 在一些文章中说,每个帧头的标记是 Hexa (FF FB)。是真的吗?

最佳答案

所有 MP3 帧的开头都有一个同步字标记。这个同步字长 11 位,全为 1。所以 MP3 帧将以 FFF 或 FFE 开头。更多信息请参见以下链接 details关于MP3帧结构

这并不意味着任何以 0xFFE 或 0xFFF 开头的字节序列都是 MP3 帧头。可能还有很多其他情况
(a) 其他格式如 ADTS(AAC) 也有类似的同步字。 ADTS框架的更多细节是here .
(b) MP3 帧内的数据也可以包含 FFF/FFE 序列。

因此,确定字节序列是否为 MP3 的最佳方法是执行以下操作
(o) 搜索syncword(FFF或FFE)序列
(o) 通过解析sync word之后的header block来找出帧的长度
(o) 按帧长查找文件,看是否有另一个同步字。
如果是MP3文件,那么在当前同步字上加上帧长后,再找一个同步字。

关于mp3 - MP3 帧的标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926967/

相关文章:

python - 转换遗留数据的文件格式

android - 有没有办法在我的Android应用中发出中音?

iphone - AVFoundation iOS 5

ios - iOS:如何从Dropbox同步上的mp3文件中获取ID3标签

.net - 如何选择文件格式?

URL 文件格式 多个目标

.net - 如何确定一个文件是否是.NET 中的图像文件?

javascript - 如何使用 javascript 和 html 循环播放 mp3 文件

java - MP3 文件在读取过程中失真