Я знаю, что в Android можно сохранять GIF-файлы в объектах Movie, а затем управлять кадром с помощью setTime (). И когда я пытаюсь отобразить .gif с ресурса, он работает нормально.
К сожалению, отображение .gif из URL гораздо менее успешно. Вот соответствующий код:
public void setMovieURL(String url) throws MalformedURLException, IOException {
movie = Movie.decodeStream(fetch(url));
}
private static InputStream getStreamFromURL(String url) throws MalformedURLException, IOException {
return fetch(url);
}
public static InputStream fetch(String address) throws MalformedURLException,IOException {
URL url = new URL(address);
InputStream content = url.openStream();
return content;
}
Фильм имеет ненулевое значение, но его высота, ширина и длительность равны 0. IOException вызывается в InputStream (потому что вызывается reset ()), но оно также перехватывается в InputStream. Это может иметь или не иметь отношение.
Я не понимаю, почему это не работает. Я в своем уме, и я могу скачать файл и сохранить его, или иметь дело с байтовыми массивами.