日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 媒体库扫描,如何扫描出Android系统媒体库中视频文件

發(fā)布時(shí)間:2025/3/12 Android 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 媒体库扫描,如何扫描出Android系统媒体库中视频文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Android系統(tǒng)啟動(dòng)時(shí)會(huì)去掃描系統(tǒng)文件,并將系統(tǒng)支持的視頻文件(mp4,3gp,wmv)掃描到媒體庫(MediaStore)中,下面代碼演示如何獲得這些文件的信息:

publicstatic?List?sysVideoList?=?null;//?視頻信息集合

sysVideoList?=?new?ArrayList();

setVideoList();

privatevoid?setVideoList()?{

//?MediaStore.Video.Thumbnails.DATA:視頻縮略圖的文件路徑

String[]?thumbColumns?=?{?MediaStore.Video.Thumbnails.DATA,

MediaStore.Video.Thumbnails.VIDEO_ID?};

//?MediaStore.Video.Media.DATA:視頻文件路徑;

//?MediaStore.Video.Media.DISPLAY_NAME?:?視頻文件名,如?testVideo.mp4

//?MediaStore.Video.Media.TITLE:?視頻標(biāo)題?:?testVideo

String[]?mediaColumns?=?{?MediaStore.Video.Media._ID,

MediaStore.Video.Media.DATA,?MediaStore.Video.Media.TITLE,

MediaStore.Video.Media.MIME_TYPE,

MediaStore.Video.Media.DISPLAY_NAME?};

cursor?=?managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,

mediaColumns,?null,?null,?null);

if(cursor==null){

Toast.makeText(SystemVideoChooseActivity.this,?"沒有找到可播放視頻文件",?1).show();

return;

}

if?(cursor.moveToFirst())?{

do?{

VideoInfo?info?=?new?VideoInfo();

int?id?=?cursor.getInt(cursor

.getColumnIndex(MediaStore.Video.Media._ID));

Cursor?thumbCursor?=?managedQuery(

MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,

thumbColumns,?MediaStore.Video.Thumbnails.VIDEO_ID

+?"="?+?id,?null,?null);

if?(thumbCursor.moveToFirst())?{

info.setThumbPath(thumbCursor.getString(thumbCursor

.getColumnIndex(MediaStore.Video.Thumbnails.DATA)));

}

info.setPath(cursor.getString(cursor

.getColumnIndexOrThrow(MediaStore.Video.Media.DATA)));

info.setTitle(cursor.getString(cursor

.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE)));

info.setDisplayName(cursor.getString(cursor

.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME)));

LogUtil.log(TAG,?"DisplayName:"+info.getDisplayName());

info.setMimeType(cursor

.getString(cursor

.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE)));

sysVideoList.add(info);

}?while?(cursor.moveToNext());

}

}

有一點(diǎn)需要注意的是:系統(tǒng)的媒體庫并不會(huì)在我們添加視頻文件后自動(dòng)更新,我們?nèi)绾稳ナ謩?dòng)掃描媒體庫,或者重啟系統(tǒng)才能從媒體庫中得到更新的視頻文件:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"

+ Environment.getExternalStorageDirectory())));

原文:http://www.cnblogs.com/wangfeng520/p/5089726.html

總結(jié)

以上是生活随笔為你收集整理的android 媒体库扫描,如何扫描出Android系统媒体库中视频文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。