为什么iOS SDK和第三方音频编辑器之间报告的音频长度存在差异?

为什么iOS SDK和第三方音频编辑器之间报告的音频长度存在差异?

问题描述:

我成功使用ExtAudioFileOpenUrl打开音频文件并播放它。 我注意到的一件事是从ExtAudioFileGetProperty kExtAudioFileProperty_FileLengthFrames和一个外部编辑器例如Audacity和Wave Editor不匹配。有趣的是,外部编辑也不完全同意。为什么iOS SDK和第三方音频编辑器之间报告的音频长度存在差异?

任何想法,为什么会这样?

+0

感谢您的提示。 – Ian1971 2011-03-04 10:38:43

在对各种音频编辑器进行了一些调查后,我发现这些差异似乎是它们在mp3文件中的读取方式。如果我使用的是mp3文件,我发现iOS,Audacity,Wave Editor和Twisted Wave之间的音频长度存在差异。 但是,如果我把mp3转换成caf,那么iOS和所有的编辑们就音频长度达成一致。

我发现的另一个有趣的事情是,从mp3到caf的转换增加了报告的音频长度。

所以这个故事的寓意是,如果你将要拍摄在某些时候声音事件转换成MP3,然后再回来......

MP3文件的解码长度可以根据变化解码器实现,因为在解码流的开始处填充...参见http://lame.sourceforge.net/tech-FAQ.txt对此的一些讨论。