MediaMetadataRetriever getFrameAtTime: видеокадр является нулевым указателем

Я пытаюсь получить кадр видео, поэтому я использую MediaMetadataRetriever.getFrameAtTime() следующим образом:

    Uri directorio = Uri.parse("android.resource://com.extremeye/" + R.raw.video);
    media = new MediaMetadataRetriever();
    media.setDataSource(this, directorio);

    frame = (ImageView)findViewById(R.id.frame);
    Bitmap bmFrame = media.getFrameAtTime();
    frame.setImageBitmap(bmFrame);

Но проблема в том, что я получаю:

MediaMetadataRetriever getFrameAtTime: видеокадр является нулевым указателем

в журнале Cat.

Я уверен, что видео совместимо с ОС Android, и MediaMetadataRetriever загружает его, потому что я могу без проблем получить описание его метаданных в версии ОС 2.3.3.

Я не знаю, почему я не могу получить рамку, но если я использую версию ОС 4.2, она работает отлично. Я пытался изменить кодек и формат видео, но это не работает... Я предполагаю, что это проблема совместимости форматов, но я не знаю, что я могу сделать...

Спасибо!!


person Gonzalo Solera    schedule 19.07.2013    source источник
comment
такая же бредовая вещь. Я загружаю видео конвертер и убеждаюсь, что видео совместимо с кодеком H.246, но я все еще получаю нулевой указатель.   -  person Xenione    schedule 17.09.2013
comment
(Veo Que eres español así que te contesto en español mejor jajaja) Esta clase funciona realmente mal, creo que el fallo ocurre dependiendo del punto Exacto del Vídeo del cual quieres extraer el frame. A parte de este fallo también está el de compatibilidad con formatos, no funciona con la Api 10... Al final encontré una libreria externa que funciona genial: github.com/wseemann/FFmpegMediaMetadataRetriever. Me costó un poco añadirla mi proyecto pero creo que ya está solucionado. Pruébala porque mi me ha salvado... Ya me dirás cómo te va!!   -  person Gonzalo Solera    schedule 17.09.2013
comment
грасиас Гонсало!! Я попробую добавить эту библиотеку.   -  person Xenione    schedule 18.09.2013


Ответы (1)


На самом деле я использую класс FFmpegMediaMetadataRetriever из этой внешней библиотеки и прекрасно работает!!

person Gonzalo Solera    schedule 04.11.2013
comment
Библиотека слишком большая! когда я скомпилирую его в свой пакет ... размер моего apk подскочил с 2 МБ до 16 МБ .... есть ли способ решить эту проблему? - person boudi; 26.07.2015