1

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

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

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

我不明白的是,为什么这些不同的延迟也可能发生在 2 种 .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

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

4

1 回答 1

0

找到了问题 - 它是转换本身。

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

于 2012-09-24T14:07:50.323 回答