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



在开发节奏音乐游戏时,我注意到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

理解这些不同结果的任何解释/解决方案都将不胜感激。

发现了问题——这是转换本身。

当转换为adts-aac时,转换后的音频具有大约40ms的静音前缀。。。奇怪的

相关内容

  • 没有找到相关文章