在制作节奏音乐游戏时,我注意到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的静音前缀...
奇怪的...
关于ios - 从AIFF转换的AVAudioPlayer M4A文件产生的延迟不同于从ADTS AAC转换的M4A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12195951/