我试图按here所述创建视频缩略图。 我也读过参考文献here。在Android 2.0及更高版本中无法获得视频缩略图
在我的应用我第一次让用户选择一个视频:
startActivityForResult(new Intent(Intent.ACTION_GET_CONTENT).setType("video/*"), ACTIVITY_PICKVIDEO);
然后,我决定与视频ID:
fileID = Integer.parseInt(contentUri.getLastPathSegment());
因此,视频content://media/external/video/media/5
将有ID 5。
然后我尝试获取缩略图位图:
ContentResolver crThumb = getContentResolver();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;
Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, fileID, MediaStore.Video.Thumbnails.MICRO_KIND, options);
没有异常抛出,但位图的宽度和高度为-1。 我不确定getThubnail()
所需的ID实际上是我上面确定的ID。
有谁知道一个工作示例如何获取缩略图位图如果你有内容Uri?
有趣的是(也许是这样)当我试图用MediaStore.Video.Thumbnails.MINI_KIND
作为缩略图尺寸时,我得到空,而当我尝试FULL_SCREEN_KIND
时,得到IllegalArgumentException ("Unsupported kind: 2")
。
我在Android 2.1上使用摩托罗拉Milestone。
编辑: 我还试图获得与ID查询的BaseColumns._ID但它原来是相同的URI(在给出的例子中是_ID 5)。
@Manuel:使用此功能android.media.ThumbnailUtils.createVideoThumbnail(\t \t \t \t \t path,MediaStore.Video.T humbnails.MINI_KIND);这里的路径是使用这个文件路径,你可以得到特定的一个视频的缩略图 – 2011-03-14 10:31:37