Movie после инициализации остается null

Рейтинг: 1Ответов: 1Опубликовано: 25.03.2015

Хочу вывести gif файл в movie, gif хранится на sdcard. Объект movie пробовал создать по разному, т.е. decodestream/decodefile/decodebytearray, но без результатно - movie после этих операций равен null. Если брать gif из ресурсов, то тем же decodestream объект movie создается.

Вот мой код:

public GifView(Context context, InputStream inputStream) {
    super(context);
    gifInputStream = inputStream;
    init(context);
}

private void init(Context context){
    setFocusable(true);        
    gifMovie = Movie.decodeStream(gifInputStream);
    movieWidth = gifMovie.width();
    movieHeight = gifMovie.height();
    movieDuration = gifMovie.duration();
}

GifView это наследуемый от View класс, в него через конструктор передается stream. Подскажите, в чем может быть ошибка?

Ответы

▲ 1

Попробуйте отключить аппаратное ускорение - добавить android:hardwareAccelerated="false" в Activity в AndroidManifest.xml

У Movie достаточно ограниченная и не везде работающая поддержка gif. Воспользуйтесь лучше сразу готовой библиотекой. Мне нравится android-gif-drawable. Есть ещё GifImageView и другие.