2011-02-06 8 views
2

Я пытаюсь создать приложение для Android, которое генерирует статистику файлов мультимедиа, например. битрейт для аудио & битрейт, частота кадров, информация о кодеках и т. д. для видео.Существует ли какой-либо андроид api, который возвращает битрейт медиафайла, частоту кадров и т. Д.?

Мне удалось создать плейлист на основе файлов, доступных на внешнем хранилище на мобильном устройстве, и воспроизвести их с помощью MediaPlayer apis.

Но я пока не нашел ни одного api, который позволит вам извлечь вышеупомянутую информацию из медиафайлов.

Я проверил класс AudioTrack, но он не служит цели.

Это будет совершенно здорово, если кто-то может поделиться некоторыми сведениями об этом.

+0

http://developer.android.com/reference/android/media/MediaCodec.html –

ответ

0

В настоящее время API не указан.

Возможно, вы можете найти пакет с открытым исходным кодом, который имеет функциональность запросов метаданных мультимедиа (я бы предположил, что ffmpeg может это сделать). Эти библиотеки с открытым исходным кодом обычно записываются на C, но потенциально могут быть перенесены на NDK (Native Development Kit). Еще одна вещь, которую следует помнить, заключается в том, что битрейт, частота кадров и другие параметры кодирования, как правило, зависят от кодека, а некоторые кодеки имеют лицензионные сборы.

+0

Спасибо, Роман. Я попытаюсь использовать ffmpeg для своего приложения. – splintercell

+0

Я смог скомпилировать ffmpeg, загруженный из источника [link] (http://ffmpeg.org/download.html) в соответствии с инструкциями, которые я нашел здесь [ссылка] (http://androidcore.com/android-programming- учебники/641.html). Но, я получаю ту же ошибку, что и многие другие, используя jni на android. Я попробовал с примером hello-jni, который поставляется с пакетом ndk. Как ни странно, я постоянно получаю эту ошибку: ** Исключение Ljava/lang/UnsatisfiedLinkError; брошен во время Lcom/home/test/HelloJni ;. **. – splintercell