哪些音频类型可以在 iOS 中无间隙地循环播放?

Posted

技术标签:

【中文标题】哪些音频类型可以在 iOS 中无间隙地循环播放?【英文标题】:Which audio types can loop without a gap in iOS? 【发布时间】:2011-09-16 01:14:56 【问题描述】:

我听说过,并亲自尝试过,每次在 ios 中循环播放时,似乎 .mp3 都会有一个间隙。是否有任何音频类型在循环时没有间隙?哪些?

【问题讨论】:

有很多可能的答案。首先,您使用什么方法播放声音?你确定声音文件的开头或结尾没有间隙吗? 【参考方案1】:

我在我的应用程序Ambiance 中无缝循环播放 mp3。您只需要事先处理它们,就可以用正确的数量更改标题信息。你可以了解更多关于这个过程,以及简单的编码here

除了 mp3,您可以循环任何未压缩的音频,例如 wav、caf 等……只要确保源确实是无缝循环即可。

【讨论】:

我想我可以更改标题信息和所有这些(更复杂和耗时),或者我可以只使用 .wav。这就是我所做的并且有效。 mp3loop 是您运行的一个简单的 exe,大约需要 5 秒。如果您对 wav 的巨大文件大小感到满意,则无需费心 我的文件不是很大。它只有 1 兆字节。 那是相当大的。事实上,它占您的应用通过无线下载所需的 20mb 空间的 5%。 其实整个app里只有声音,只有几张图片。整个应用程序总计高达 6.4 Megs,不是很大。下载 6.4 兆字节需要多长时间?一分钟,也许?【参考方案2】:

如果您使用的是 AVAudioPlayers,我建议您使用未压缩的 .aiff 或 .wav 文件,前提是您可以不受文件大小的影响。如果文件大小是一个问题,那么将 m4a 包装为 .caf 文件将是您最好的选择。但你是对的,MP3 不能与 AVAudioPlayers 无缝循环播放。

【讨论】:

谢谢,马克!我只是将它转换为 .wav 而不是 .mp3。它有效! 很高兴它对你有用! @coneybeare - 你说得对,我说“MP3 不能无缝循环”是对的。我应该说的是,如果没有额外的处理,MP3 就不会无缝循环。【参考方案3】:

我为此苦苦挣扎了很长时间,尝试转换为 wav,尝试使用 mp3 looper,直到我发现 AAC 可以使用 AVAudioPlayer 无间隙地循环,都没有任何效果。

【讨论】:

【参考方案4】:

您可以使用 wav、caf、aiff 或其他任何东西,或者您可以先对其进行处理以使其工作。

【讨论】:

以上是关于哪些音频类型可以在 iOS 中无间隙地循环播放?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 中,哪些音频文件类型可以无缝循环?

循环播放无间隙的 AVAudioPlayer

iOS利用FFmpeg解码音频数据并播放

在 iOS 上循环播放一段音频

在 iOS 上播放 MP3 或 AAC 文件都有哪些音频播放选项?

iPhone iOS5 播放未捆绑的音频都有哪些选择?