我想以缩略图的形式表示URL的链接。这是我正在尝试的代码:
public class MainActivity extends ListActivity {
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
imageView = (ImageView)findViewById(R.id.imageView1);
ArrayList<String> videoLinks = new ArrayList<String>();
String links1 = "http://www.tools4movies.com/dvd_catalyst_profile_samples/Harold Kumar 3 Christmas bionic.mp4";
String links2 = "http://www.tools4movies.com/dvd_catalyst_profile_samples/The Amazing Spiderman bionic.mp4";
String links3 = "http://www.tools4movies.com/dvd_catalyst_profile_samples/Twilight 4 Breaking Dawn bionic.mp4";
String links4 = "http://www.tools4movies.com/dvd_catalyst_profile_samples/Harold Kumar 3 Christmas bionic fast.mp4";
String links5 = "http://www.tools4movies.com/dvd_catalyst_profile_samples/The Amazing Spiderman bionic fast.mp4";
videoLinks.add(links1);
videoLinks.add(links2);
videoLinks.add(links3);
videoLinks.add(links4);
videoLinks.add(links5);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, videoLinks);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
Bitmap bm = ThumbnailUtils.createVideoThumbnail(links1, Thumbnails.MICRO_KIND);
imageView.setImageBitmap(bm);
}
}
答案 0 :(得分:1)
您将URL字符串作为ThumbnailUtils.createVideoThumbnail()的第一个参数值。
但是文档声明此字符串应该是文件路径,而不是URL。
这个怎么样?
public static Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
然后像这样设置。
Bitmap bm = getBitmapFromURL(links1.replace(".mp4", ".jpg").toLowerCase());
imageView.setImageBitmap(bm);
不要忘记在您的清单中放置用户权限互联网。
你应该把它放在AsyncTask中。当您连接到URL时,您不希望UI冻结。
编辑:
别介意检查它。你可以得到jpg文件。