AIFF 全名 audio interchange file format, 我們沒說要支援, 結果播起來有聲音, 被客戶發 bug, 成了傷腦筋的問題.
為什麼沒有支援也可以播呢?因為它有時並沒有壓縮, 和純 PCM 的 wave 檔差不多.
如果名稱是 *.AIFF 或 *.AIF, 檔案是 little endian. 如果名稱是 *.AIFC, 則為 big endian.
不過 iTune 的 AIFF 內容其實是 AIFC. 這就是為何我們改口說 "乾脆支援 AIFF 算了!" 結果反而又被發 3 個 bug 的原因.
AIFF 和 WAV (RIFF) 檔簡單比較一下:
RIFF | Note | AIFF | Note | ||||||||||||||||||||||||||||||||||||||||||||
Chunk ID | RIFF | Chunk ID | FORM | ||||||||||||||||||||||||||||||||||||||||||||
Chunk Size | 4 Bytes | Chunk Size | 4 Bytes | ||||||||||||||||||||||||||||||||||||||||||||
RIFF DATA | WAVE | form data | AIFF | ||||||||||||||||||||||||||||||||||||||||||||
一到多個 chunk | 各種 chunk | 1 | |||||||||||||||||||||||||||||||||||||||||||||
|
Common Chunk Sound Data Chunk Name Chunk Author Chunk Copyright Chunk Annotation Chunk Audio Recording Chunk Application Chunk ID3 Chunk MIDI Data Chunk |
未壓縮 | |||||||||||||||||||||||||||||||||||||||||||||
|
NONE (未壓縮) fl32 (32 bits floating) |
壓縮格式, 寫在 Common chunk |