2013-02-11 5 views
0

Есть ли способ декодировать аудиофайл AMR в Android и иметь доступ к исходным аудиоданным? MediaCodec доступен только для API 16 и выше. Мне нужно что-то, что будет работать на Android 2.2 и выше.Декодировать аудиофайл AMR в Android

ответ

1

Я думаю, что на платформах 2.X для этого нет встроенного API. Вместо этого вы можете использовать двоичные файлы ffmpeg.

С быстрым поиском найден this precompiled version of ffmpeg for Android 2.2.

Вы можете поместить исполняемый файл в свою прикладную папку raw и использовать Runtime.getRuntime().exec() для его выполнения.

Чтобы преобразовать AMR файл WAV с ffmpeg вы можете сделать что-то вроде этого:

ffmpeg -i file.amr file.wav 

и конвертировать WAV в сырой PCM вы можете сделать следующее: (взятый из here)

ffmpeg -i file.wav -f s16le -acodec pcm_s16le file.pcm 
+0

Это очень большой пакет - более 9 мб. Это полнофункциональное приложение для обработки звука. Overkill для моего приложения размером всего 2 мб. – AndroidDev