【发布时间】:2016-01-27 07:01:47
【问题描述】:
我是 android 开发新手,我正在列出存储(我的手机)中的所有视频,并希望在自定义 ListView 中创建缩略图显示。
我的问题是创建缩略图需要时间,如何解决?请帮帮我。
下面的代码是创建缩略图
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.video_list);
ListView videolist=(ListView)findViewById(R.id.video_list);
ArrayList<String> videoName = new ArrayList<>();
final ArrayList<String> videoPath = new ArrayList<>();
ArrayList<Bitmap> videoThumbnail = new ArrayList<>();
String selection =MediaStore.Video.Media._ID;
String[] columns = { MediaStore.Video.Media.DATA,MediaStore.Video.Media.DISPLAY_NAME};
Cursor cursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
columns, selection, null, null);
while (cursor.moveToNext()){
Bitmap bmThumbnail;
bmThumbnail = ThumbnailUtils.createVideoThumbnail(String.valueOf(Uri.parse(cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA)))),
MediaStore.Video.Thumbnails.MICRO_KIND);
videoName.add(cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME)));
videoPath.add(String.valueOf(Uri.parse(cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA)))));
videoThumbnail.add(bmThumbnail);
}
cursor.close();
Toast.makeText(getApplicationContext(), ""+videoThumbnail.size(), Toast.LENGTH_LONG).show();
VideoAdapter videoAdapter = new VideoAdapter(this, videoName,videoThumbnail);
videolist.setAdapter(videoAdapter);
【问题讨论】:
-
stackoverflow.com/questions/15951766/… 是另一个关于此的主题
-
感谢 Amir,但获取缩略图也需要时间。
-
我使用 Glide 正如我在链接中建议的那样,它的工作正常
-
能贴出代码吗?
标签: android android-layout android-intent