【发布时间】:2014-09-05 16:50:07
【问题描述】:
我已经使用它从我的视频中创建缩略图。 代码如下所示:
videoGalleryThumbnails.add(ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail(
videoFile.getAbsolutePath(), MediaStore.Images.Thumbnails.MINI_KIND), 500, 200));
但是创建的缩略图的时间非常糟糕。正是视频是黑色的时候。现在我没有使用完全黑色的缩略图。
如何在特定时间拍摄我的视频的缩略图?例如。 00:31 还是 01:44?
还是不可能?
我也尝试使用 MediaMetadataRetriever,但我只得到一张白色图像。代码如下所示
File tempVideoList[] = (Environment.getExternalStoragePublicDirectory(PATH_VIDEO_GALLERY))
.listFiles();
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
Bitmap myBitmap=null;
for (File videoFile : tempVideoList) {
if (videoFile.isFile()) {
//from here
try {
retriever.setDataSource(videoFile.getAbsolutePath());
myBitmap = retriever.getFrameAtTime(11); //at 11th second
} catch (Exception ex) {
Log.i("MyDebugCode", "MediaMetadataRetriever got exception:" + ex);
}
videoGalleryThumbnails.add(myBitmap);
//to here
}
如果我用最上面的代码替换标记为“从这里”到“到这里”的代码,它就可以工作。 我还尝试了 MediaMetadataRetriever.OPTION_CLOSEST 和 OPTION_CLOSEST_SYNC 和 OPTION_NEXT_SYNC。
【问题讨论】:
-
可以查看并分享videoFile声明吗?
-
我编辑了我的代码,所以你看到了声明。目前看来还不错。