iPhone 和 Android 可以录制和播放哪种音频格式?

Posted

技术标签:

【中文标题】iPhone 和 Android 可以录制和播放哪种音频格式?【英文标题】:Which audio format can be recorded and played back by iPhone and Android? 【发布时间】:2011-02-22 21:06:01 【问题描述】:

我正在设计一个可以在 iPhone 和 android 上录制短音频文件的应用程序,可以在这两个平台上播放,希望也可以在任何其他智能手机上播放。

现在我使用 *.caf 和 iLBC 编解码器,因为我知道 iPhone 不编码 mp3。

在这种情况下我应该使用文件格式/编解码器吗?

【问题讨论】:

由于很难实现直接的设备到设备通信,那么如何在设备上以支持的格式录制,然后使用您基本上需要的服务器作为中间人来转码为另一个支持?当然,您也可以使用 ogg vorbis 的非内置实现。 【参考方案1】:

过去,Android 和 iPhone 没有通用的音频编码格式。

iPhone:iPhone audio encoding supported formats

安卓:Android supported media formats

但 Android 2.3.3 增加了对 AMR-WB 和 AAC 的支持:Android Audio Encoder AAC

请参阅 媒体框架Android 2.3.3 API changes

因此,如果您希望在 Android 和 iPhone 设备之间进行互操作并且可以处理 Android 2.3.3 限制,我相信 AAC 是您的格式选择。

否则,只需从覆盖范围最广的列表中选择(Android 上的 AMR-NB)或计划将录制的音频转换为合适的格式。

快速检查表明 AMR 已获得专利,我认为 AAC 也会有一些专利覆盖。 PCM 可在 iPhone 和 Android 以及大多数手机上解码,但需要更大的文件大小。

【讨论】:

【参考方案2】:

所有智能手机都可以播放 WAV 文件(甚至是 Android 2.2)。这些在 ios 中称为“线性 PCM”,在 Android 中称为“PCM/WAVE”。

【讨论】:

在andorid和iphone中视频录制使用哪个音频编码器? 我不知道。虽然我目前的工作是 Android 开发人员,但我现在主要从事 iOS 开发。【参考方案3】:

尝试将您的ios版本文件中的文件类型修改为.wav,您应该可以在Android手机以及Windows操作系统上收听此音频文件。

【讨论】:

【参考方案4】:

您会发现 mp3 在所有最新的 iOS 设备和大多数 Android 手机(但不是廉价平板电脑、廉价手机等)中都具有硬件解码功能。

【讨论】:

但是您无法在 iPhone 上创建文件并使用 mp3 保存到系统中。您可以播放,但不能保存。 你绝对可以做到。您像写入任何其他文件一样写入文件系统。你不知道你在说什么。 ***.com/questions/6271184/… m4a,是的,mp3,没有。 所以你应该说的是,“你可以播放,而不是录制”,这与“保存”不同。【参考方案5】:

正如上面typo.pl所解释的,一般兼容的格式是AMR或WAVE(PCM),但在实践中,我们更喜欢渐进式解决方案:

在 iOS 和 Android 2.3.3+ 上生成 AAC,但回退到生成 AMR (WB) 在 Android 2.3.3 之前的版本上。这两种格式都可以在所有平台上播放。

我想这是一个相当简单的解决方案,可以提高兼容性和音频质量。

【讨论】:

以上是关于iPhone 和 Android 可以录制和播放哪种音频格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 应用程序中录制和播放声音?

使用 iPhone SDK 同时播放和录制声音?

在 iPhone 上使用 AudioQueue 录制/播放

在 android 设备上捕获视频并在 iOS 设备上播放

如何防止iphone麦克风录制播放的声音?

iPhone - AudioToolbox 和录音