获取SD卡视频文件缩略图
Java代码
, privateBitmapcreateVideoThumbnail(StringfilePath){ , Bitmapbitmap=null;
, MediaMetadataRetrieverretriever=newMediaMetadataRetriever();
, try{
, retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY);
, retriever.setDataSource(filePath);
, bitmap=retriever.captureFrame();
, }catch(IllegalArgumentExceptionex){
? //Assumethisisacorruptvideofile
,, }catch(RuntimeExceptionex){
,, //Assumethisisacorruptvideofile.
,, }finally{
,, try{
,, retriever.release();
,, }catch(RuntimeExceptionex){
,, //Ignorefailureswhilecleaningup.
,, }
,, }
,? returnbitmap;
,, }
,,
,, privatevoidgetVideoFile(finalListlist) ,, {
,, Bitmapbitmap=null;
,,
,, ContentResolvermContentResolver=this.getContentResolver(); ,, Cursorcursor=mContentResolver.query(MediaStore.Video.Media.EXTERNAL_CONTE
NT_URI,null,
,, null,null,MediaStore.Video.DEFAULT_SORT_ORDER); ,?
,,
,,
,, if(cursor.moveToFirst())
,, {
,, do{
,, //ID:MediaStore.Audio.Media._ID
,, intid=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID));
,,
,, //名称:MediaStore.Audio.Media.TITLE
,? Stringtilte=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TI
TLE));
,,
,, //专辑名:MediaStore.Audio.Media.ALBUM
,, Stringalbum=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ALBUM));
,,
,,
,, //歌手名:MediaStore.Audio.Media.ARTIST
,, Stringartist=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ARTIST));
,,
,, //路径:MediaStore.Audio.Media.DATA
,? Stringurl=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));
,,
,, //总播放时长:MediaStore.Audio.Media.DURATION
,, intduration=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION));
,,
,, //大小:MediaStore.Audio.Media.SIZE
,, intsize=(int)cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE));
,,
,, //拍摄时间
,, intdateTaken=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATE_TAKEN));
,? Stringdatetime=DateFormat.format("yyyy-MM-ddkk:mm:ss",dateTaken).toString(); ,,
,, bitmap=createVideoThumbnail(url);
,,
,, }
MediaMetadataRetriever.Java 应放在工程的: Android.media 下面