关于不同设备上的AMR音频文件播放问题

时间:2011-07-20 07:03:15

标签: iphone audio avaudioplayer

我这里有一个很奇怪的问题。 我正在开发一个IM软件,需要播放Android上另一个客户端录制的音频文件。 我可以在3GS(IOS 4.2.1)设备和模拟器4.2上使用AVAudioPlayer播放相同的音频文件。 但是当我尝试在iPhone4(iOS 4.3.3)上播放时,“播放”功能总是返回NO。

我也试过两台iPhone设备,iPhone客户端录制的音频文件可以在3GS和iPhone4上播放。 所以我向Android开发人员询问了他们使用的记录参数。他们说他们使用的“AudioEncoder”是“DEFAULT”。还有一些其他参数如下:

**private AudioEncoder() {}
        public static final int DEFAULT = 0;
        /** AMR (Narrowband) audio codec */
        public static final int AMR_NB = 1;
        /** @hide AMR (Wideband) audio codec */
        public static final int AMR_WB = 2;
        /** @hide AAC audio codec */
        public static final int AAC = 3;
        /** @hide enhanced AAC audio codec */
        public static final int AAC_PLUS = 4;
        /** @hide enhanced AAC plus audio codec */
        public static final int EAAC_PLUS = 5;**

有人知道发生了什么事吗?

1 个答案:

答案 0 :(得分:2)

我已经解决了这个问题。

在iOS4.3或更高版本中,不再支持AMR格式。如果你想播放或录制一个,你必须使用其他一些工具(我使用opencore-amr库)来转换格式。

相关问题