2012-08-30 69 views
1

在處理節奏音樂遊戲時,我注意到AVAudioPlayer在報告的.currentTime和音頻文件中的實際位置之間存在等待時間,到文件格式。從AIFF轉換的AVAudioPlayer M4A文件產生與從ADTS AAC轉換的M4A不同的延遲

例如,播放.m4a文件將產生比播放.aac文件(ADTS AAC)更低的延遲。

這有點可以理解,我已經接受了這一點(因爲根據文件類型延遲是一個常量)。

我不明白,這就是爲什麼這些不同的等待時間也可能發生了2種的.m4a的文件,那些從原始AIFF文件轉換,而那些先轉換成AAC ADTS,然後轉化爲.M4A

換句話說:

如果我運行:

afconvert -f m4af -d aac my_aif_file.aif 

我得到一個文件中更低的延遲播放的則是這樣創建的文件:

afconvert -f adts -d aac my_aif_file.aif 
afconvert -f m4af -d aac my_aif_file.aac 

任何解釋/解決方案來理解這些不同的結果將不勝感激。

回答

0

發現問題 - 這是轉換本身。

當轉換爲adts aac時,轉換後的音頻具有約40ms的靜音前綴... 奇怪...