【发布时间】:2017-01-01 02:40:29
【问题描述】:
当前尝试从返回的视频(来自图库或设备上的视频意图)中获取缩略图以显示在 ImageView 中,但出现 FileNotFound 异常并返回空位图。不完全确定我哪里出错了,尽管从错误判断它一定是不正确的路径。有什么想法吗?
if (requestCode == GALLERY_VIDEO_CODE || requestCode == VIDEO_CODE) {
videoURI = data.getData();
if(videoURI != null) {
MediaPlayer mp = MediaPlayer.create(this, videoURI);
int duration = mp.getDuration();
mp.release();
if (duration <= 11000) {
addBtn.setVisibility(View.INVISIBLE);
clearBtn.setVisibility(View.VISIBLE);
Toast.makeText(this, "Video added!", Toast.LENGTH_LONG).show();
File file = new File(videoURI.getPath());
Bitmap bm = ThumbnailUtils.createVideoThumbnail(file.getAbsolutePath(), MediaStore.Video.Thumbnails.MINI_KIND);
userPhoto.setImageBitmap(bm);
} else {
videoURI = null;
Toast.makeText(this, "Video too long - maximum duration is 10 seconds", Toast.LENGTH_LONG).show();
addBtn.setVisibility(View.VISIBLE);
clearBtn.setVisibility(View.INVISIBLE);
}
【问题讨论】:
-
File file = new File(videoURI.getPath())-- 仅当Uri具有file方案时才有效。大多数时候,你不会有一个Uri和file方案。相反,它将有一个content方案。 -
在这种情况下,有什么办法可以得到它的缩略图吗?
-
将
videoURI传递给毕加索,让它给你一个缩略图:github.com/commonsguy/cw-omnibus/blob/v7.6/RecyclerView/… -
再次出现问题,似乎没有将任何内容加载到图像视图中 - 已按照您链接的代码中的建议尝试了 videoURI 和 videoURI.toString 。开始认为我只是被诅咒了!
标签: android thumbnails video-thumbnails