Я пытаюсь использовать 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()
.
Проблема возникает, если вместо рисования я пытаюсь загрузить его с SD-карты, используя
String path = Environment.getExternalStorageDirectory() + "/download/animfile.gif";
Movie movie = Movie.decodeFile(path);
Кажется, что загружается что-то , поскольку movie
не равно нулю. Но проблема в том, что movie.duration()
возвращает 0
.
Есть идеи, почему это происходит, и что мне следует делать?