2012-06-07 39 views
1

我想問關於每個MP3幀的標記字節?我們如何知道這是一個來自MP3的框架? 在一些文章中說,標記是每個幀頭的十六進制(FF FB)。這是真的嗎?MP3框架的標記?

回答

7

所有MP3幀在開始時都有一個同步字標記。該同步字長11位,全部爲1。所以MP3幀將以FFF或FFE開始。請參閱下面的鏈接瞭解更多關於MP3幀結構的details

這並不意味着任何以0xFFE或0xFFF開頭的字節序列都是MP3幀頭。可能有許多其他情況
(a)其他格式,如ADTS(AAC)也有類似的同步字。 ADTS框架的更多細節是here
(b)MP3幀內的數據也可以包含FFF/FFE序列。

因此,爲了確定最佳的方式,如果字節的序列是MP3或不是做以下
(O)搜索同步字(FFF或FFE)序列
(O)求幀的長度通過解析報頭同步字後的塊
(o)按文件長度搜索文件並查看是否有另一個同步字。
如果它是一個MP3文件,那麼在將幀長度添加到當前同步字後應該找到另一個同步字。