MP3框架的标记?

hai*_*dey 2 mp3 file-format

我想询问每个MP3帧的标记字节?我们怎么知道它是MP3的一个框架?在一些文章中说标记是每个帧头的Hexa(FF FB).这是真的吗?

Oak*_*tes 9

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

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

因此,确定字节序列是否为MP3的最佳方法是执行以下操作
(o)搜索同步字(FFF或FFE)序列
(o)通过解析同步字后的标题块来查找帧的长度
(o)寻找逐帧长度并查看是否有另一个同步字.
如果是MP3文件,那么在将帧长度添加到当前同步字后,您应该找到另一个同步字.