我正在设计一款可以在iPhone和Android上录制短音频文件的应用程序,可以在两个平台上播放,也可以在任何其他智能手机上播放。
现在我正在使用* .caf和iLBC编解码器,因为我知道iPhone不编码mp3。
在这种情况下我应该使用文件格式/编解码器吗?
答案 0 :(得分:13)
过去,Android和iPhone没有常见的音频编码格式。
iPhone:iPhone audio encoding supported formats
Android:Android supported media formats
但Android 2.3.3增加了对AMR-WB和AAC的支持:Android Audio Encoder AAC
上的媒体框架所以我相信如果你想在Android和iPhone设备之间进行互操作并且可以处理Android 2.3.3限制,AAC就是你的格式选择。
否则,只需从列表中选择最广泛的覆盖范围(Android上的AMR-NB)或计划将录制的音频转换为合适的格式。
快速检查显示AMR已获得专利,我认为AAC也会获得一些专利保护。 PCM可以在iPhone和Android以及大多数手机上解码,但代价是文件大小。
答案 1 :(得分:3)
所有智能手机都可以播放WAV文件(即使是2.2版本的Android)。这些在iOS中称为“线性PCM”,在Android中称为“PCM / WAVE”。
答案 2 :(得分:1)
尝试将ios版本文件中的文件类型修改为.wav
,您应该能够在Android手机和Windows操作系统上收听此音频文件。
答案 3 :(得分:0)
你会发现mp3在所有最近的iOS设备和大多数Android手机中都有硬件解码(但不是便宜的平板电脑,预算电话等)。
答案 4 :(得分:0)
RAW WAV真的是两款手机上编码和解码音频的唯一选择吗? Android 2.3.3非常依赖于该版本。
答案 5 :(得分:0)
正如上面提到的typo.pl,一般兼容的格式是AMR或WAVE(PCM),但在实践中,我们更喜欢渐进式解决方案:
在iOS和Android 2.3.3+上生成AAC,但后退产生AMR(WB) 在Android 2.3.3之前。这两种格式都可以在所有平台上播放。
我想这是一个相当简单的解决方案,可以提高兼容性和音质。