2013-07-19 18 views
5

Ich versuche einen Rahmen eines Videos zu bekommen, so bin ich mit MediaMetadataRetriever.getFrameAtTime() wie folgt aus:MediaMetadataRetriever getFrameAtTime: VideoFrame® ist ein Null-Zeiger

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); 

Aber das Problem ist, dass ich :

MediaMetadataRetriever getFrameAtTime: Videoframe ist ein Nullzeiger

im Logcat.

Ich bin sicher, dass das Video mit Android OS kompatibel ist und der MediaMetadataRetriever lädt es, weil ich seine Metadaten Beschreibung ohne Probleme in einer 2.3.3 OS Version erhalten kann.

Ich weiß nicht, warum ich den Rahmen nicht bekomme, aber wenn ich eine 4.2 OS Version verwende, funktioniert es perfekt. Ich habe versucht, den Codec und das Format des Videos zu ändern, aber es funktioniert nicht ... Ich nehme an, dass es ein Problem der Formatkompatibilität ist, aber ich weiß nicht, was ich tun kann ...

Vielen Dank! !

+1

gleiche rabish Sache. Ich lade einen Video-Konverter herunter und stelle sicher, dass das Video mit dem H.246-Codec kompatibel ist, aber ich bekomme immernoch einen Null-Zeiger. – Xenione

+1

(Es ist eine Frage, die Sie in Frage stellen können) Esta clase funciona realtemente mal, creo que el fallo ocurre deliveriendo del punto excepto del vídeo del cual quieres extra el el frame. Ein parte de este fallo también está el de compatibilidad con formatos, kein funktionen mit dem Api 10 ... Al final encontre una libreria externa que funciona genial: https://github.com/wseemann/FFmpegMediaMetadataRetriever. Me costó un poco añadírla a mi proyecto pero creé que ya está solucionado. Pruébala porque a mi mich hat salvado ... Ya ich dirás cómo te va !! –

+0

Gracias Gonzalo !! Ich werde versuchen, diese Bibliothek hinzuzufügen. – Xenione

Antwort

2

Eigentlich verwende ich FFmpegMediaMetadataRetriever Klasse von this external library und funktioniert super !!

+0

Die Bibliothek ist zu groß! wenn ich es in meinem Bundle kompiliere ... ist meine apk-Größe von 2 MB auf 16 MB gesprungen .... gibt es eine Möglichkeit, dieses Problem zu beheben? – boudi