Я пытаюсь использовать android.graphics.Movie
для воспроизведения файла GIF из / sdcard / download
.
Если я помещу файл в папку drawable
в APK, Я могу загрузить его с помощью:
InputStream istr = context.getResources().openRawResource(R.drawable.animfile);
Movie movie = Movie.decodeStream(istr);
Это работает. movie.duration ()
покажет правильную продолжительность, которую я использую для получения значения для movie.setTime ()
.
Проблема возникает, если вместо drawable я попробуйте загрузить его с SD-карты с помощью
String path = Environment.getExternalStorageDirectory() + "/download/animfile.gif";
Movie movie = Movie.decodeFile(path);
Кажется, что загружается что-то , поскольку фильм
не является нулевым. Но проблема в том, что movie.duration ()
возвращает 0
.
Есть идеи, почему это происходит, и что мне делать?