从AIFF转换的AVAudioPlayer M4A文件产生的延迟与从ADTS AAC转换的M4A不同

时间:2012-08-30 11:32:59

标签: ios audio aac m4a adts

在制作节奏音乐游戏时,我注意到AVAudioPlayer在报告的.currentTime和音频文件中的实际位置之间存在延迟,该延迟因文件格式而异。

例如,播放.m4a文件会产生比播放.aac文件(ADTS AAC)更低的延迟。

这有点可以理解,我已经接受了这个(因为根据文件类型,延迟是一个常数)。

我不明白的是,为什么这两种.m4a文件也会发生这些不同的延迟,这些文件是从原始AIFF文件转换而来的,而那些首先转换为ADTS AAC然后转换为.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

理解这些不同结果的任何解释/解决方案都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

发现问题 - 这是转换本身。

转换为adts aac时,转换后的音频前缀约为40毫秒的静音... 奇怪的...