我知道在Android中,可以将.gif存储在Movie对象中,并通过setTime()方法操作帧。当我尝试从资源中显示.gif时,它可以正常工作。
不幸的是,从URL中显示.gif的效果要差得多。以下是相关代码:
不幸的是,从URL中显示.gif的效果要差得多。以下是相关代码:
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。在InputStream中触发了IOException(因为调用了reset()方法),但也在InputStream内捕获了该异常。这可能与问题相关或不相关。
我不明白为什么这样不起作用。我已经快崩溃了,我的另一个选择是下载并保存该文件,或者处理字节数组。