Estoy tratando de usar android.graphics.Movie
para reproducir un archivo GIF desde /sdcard/download
.Android - Error al cargar el archivo .gif usando la clase de película
Si pongo el archivo en la carpeta drawable
en el APK, puedo cargarlo usando:
InputStream istr = context.getResources().openRawResource(R.drawable.animfile);
Movie movie = Movie.decodeStream(istr);
que funciona. movie.duration()
mostrará la duración correcta, que utilizo para derivar el valor de movie.setTime()
.
El problema ocurre si, en lugar de dibujable, trato de cargarlo desde la tarjeta SD usando
String path = Environment.getExternalStorageDirectory() + "/download/animfile.gif";
Movie movie = Movie.decodeFile(path);
Parece que cargar algo como movie
no es nulo. Pero el problema es que movie.duration()
devuelve 0
.
¿Alguna idea de por qué sucede esto y qué debería hacer?