2011-05-06 137 views
1

據我所知,MP3文件格式基本上由兩部分組成,即id3元數據+音頻幀。我怎樣才能以二進制形式讀取所有的id3段和所有的音頻幀爲兩個二進制blob?我正在尋求簡單地對元數據和音頻執行哈希計算,將其作爲文件中的兩個獨立單元。我怎樣才能確定文件中「分割點」的位置?如何讀取MP3文件,從音頻中分離元數據?

回答

3

從ID3標籤規格:

+-----------------------------+ 
|  Header (10 bytes)  | 
+-----------------------------+ 
|  Extended Header  | 
| (variable length, OPTIONAL) | 
+-----------------------------+ 
| Frames (variable length) | 
+-----------------------------+ 
|   Padding   | 
| (variable length, OPTIONAL) | 
+-----------------------------+ 
| Footer (10 bytes, OPTIONAL) | 
+-----------------------------+ 

注意,有幾個ID3標籤版本在那裏。

規格:http://www.id3.org/id3v2.4.0-structure

+0

那麼,有沒有一個MP3文件中多次ID3標籤塊或只是一個具有多個幀? – 2011-05-16 21:11:03

+0

根據[en.wikipedia.org](http://en.wikipedia.org/wiki/ID3)有多個框架的大塊 – 2011-05-16 22:29:25

+0

謝謝。所以標題中指定長度的位告訴我整個塊有多大?感謝您所有的幫助。 – 2011-05-16 22:44:55