О проблеме воспроизведения аудиофайлов AMR на разных устройствах - PullRequest
1 голос
/ 20 июля 2011

У меня тут довольно странная проблема.Я занимаюсь разработкой программного обеспечения для обмена мгновенными сообщениями, и мне необходимо воспроизводить аудиофайлы, записанные другим клиентом на Android.Тот же аудиофайл, который у меня есть, можно воспроизвести с помощью AVAudioPlayer на устройстве 3GS (IOS 4.2.1) и на симуляторе 4.2.Но когда я пытался воспроизвести его на 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 Ответ

2 голосов
/ 03 ноября 2011

Я решил проблему.

В iOS4.3 или более поздней версии формат AMR больше не поддерживается.Если вы хотите воспроизвести или записать один, вы должны использовать некоторые другие инструменты (которые я использую opencore-amr библиотека) для преобразования формата.

...