AAC文件
資料:
http://blog.csdn.net/u013427969/article/details/53091594
http://blog.chinaunix.net/uid-26084833-id-3416600.html
http://blog.csdn.net/sunnylgz/article/details/7676340
AAC的音頻文件格式有ADIF & ADTS:
ADIF:Audio Data Interchange Format 音頻數據交換格式。這種格式的特征是可以確定的找到這個音頻數據的開始,不需進行在音頻數據流中間開始的解碼,即它的解碼必須在明確定義的開始處進行。故這種格式常用在磁盤文件中。
ADTS:Audio Data Transport Stream 音頻數據傳輸流。這種格式的特征是它是一個有同步字的比特流,解碼可以在這個流中任何位置開始。它的特征類似於mp3數據流格式。
http://blog.csdn.net/jay100500/article/details/52955232
http://blog.csdn.net/liukun321/article/details/25337425
http://blog.csdn.net/andyhuabing/article/details/40983423
.一加手機的錄音文件是AAC格式的。

經過觀察,這個音頻文件格式為ADTS。對這種類型文件分析,可以參考下mp3文件的音頻數據幀
---------------------------------------------------------------------------------------------------------------------------------------------
MP4文件格式
http://www.360doc.com/content/16/0304/16/6887512_539388342.shtml
http://blog.sina.com.cn/s/blog_48f93b530100jz4b.html
M4A文件頭:
MP4文件中的所有數據都裝在box(QuickTime中為atom)中,也就是說MP4文件由若干個box組成,每個box有類型和長度,可以將box理解為一個數據對象塊。box中可以包含另一個box,這種box稱為container box。一個MP4文件首先會有且只有一個“ftyp”類型的box,作為MP4格式的標志並包含關於文件的一些信息。
Box說明:
首先需要說明的是,box中的字節序為網絡字節序,也就是大端字節序(Big-Endian),簡單的說,就是一個32位的4字節整數存儲方式為高位字節在內存的低端。
Box由header和body組成,
其中header統一指明box的大小和類型,
body根據類型有不同的意義和格式。
標准的box開頭的4個字節(32位)為box size,該大小包括box header和box body整個box的大小,這樣我們就可以在文件中定位各個box。
如果size為1,則表示這個box的大小為large size,真正的size值要在largesize域上得到。(實際上只有“mdat”類型的box才有可能用到large size。)如果size為0,表示該box為文件的最后一個box,文件結尾即為該box結尾。(同樣只存在於“mdat”類型的box中。)

size后面緊跟的32位為box type,一般是4個字符,如“ftyp”、“moov”等,這些box type都是已經預定義好的,分別表示固定的意義。如果是“uuid”,表示該box為用戶擴展類型。如果box type是未定義的,應該將其忽略。
box類型,增加一個wide類型。
后記mp4,AAC,M4A文件格式解析
m4a(aac編碼)就是mp4格式的音頻內容
m4a同mp3一樣,也是一種音頻格式的文件,但一般普通的m4a文件擴展名通常是mp4,由於蘋果的iTunes的原因,現在大多數的音樂軟件都直接支持了m4a。
如果遇到有m4a音頻格式的文件,可以安全地把只包含音頻的.mp4 文件的擴展名改成.m4a,以便讓它能在你喜歡的播放器里播放,反過來轉換也可以。
隨着蘋果手機iPhone和平板iPad的流行,使得iPhone和iPad中支持的m4a格式文件如今流行了起來。M4A是MPEG-4音頻標准的文件的擴展名。
在MPEG4標准中提到,普通的MPEG4文件擴展名是“.mp4”。自從Apple開始在它的iTunes以及iPod中使用“.m4a”以區別MPEG4的視頻和音頻文件以來,
“.m4a”這個擴展名開始被大家認識。
注:AAC文件就是不經封裝的音頻流。M4A文件就是以MPEG-4標准的封裝格式進行封裝的AAC
====================================
文件的創建、修改時間的解析,思路:
計算得到:
1904-01-01零點 到 1970-01-01零點經過的秒數
把從文件中解析得到的秒數 減去 上面的秒數
得到的值就可以使用ctime函數了。
