Android系统在启动时会扫描系统文件,并将系统支持的视频、音频扫描到数据库MediaStore中。
- 类MediaStore.Video
常量:
DEFAULT_SORT_ORDER:String,表的默认排列顺序
构造函数:
MediaStore.Video()
方法:
Cursor query(ContentResolver cr, Uri uri, String[] projection)
- 类MediaStore.Video.Media(extends Object implements MediaStore.Video.VideoColumns)
这个类应该是一个表。
常量:
String CONTENT_TYPE:表的MIME类型
String DEFAULT_SORT_ORDER:表的默认排列顺序
属性:
public static final Uri EXTERNAL_CONTENT_URI:外部存储卡的content://类型的URI
public static final Uri INTERNAL_CONTENT_URI:内存卡content://类型的URI
继承而来的属性(列名):
String _ID:一行的标识
String DATA:文件的路径名
String DISPLAY_NAME:文件的显示名
String TITLE:内容的标题
String DURATION:视频文件的时长,ms
方法:
static Uri getContentUri(String volumeName):得到指定卡上的视频媒体表的content://类型的URI
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
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 c = MainActivity.this.getContentResolver().query(uri, mediaColumns, null, null, MediaStore.Video.Media.DEFAULT_SORT_ORDER);
返回的Cursor对象和读取SQLite数据库中的表一样,包含多行多列。
音频只需要把MediaStore.Video.Media.EXTERNAL_CONTENT_URI
修改为MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
,MediaStore.Video.Media.DEFAULT_SORT_ORDER
修改为MediaStore.Audio.Media.DEFAULT_SORT_ORDER
- 类MediaStore.Video.Thumbnails
extends Object implements BaseColumns,允许开发者查询并得到两种缩略图:MINI_KIND: 512 * 384缩略图,MICRO_KIND: 96 * 96缩略图。
常量:
String DATA:缩略图的路径
String DEFAULT_SORT_ORDER:表的默认排序方式
String KIND:缩略图的类型
int MICRO_KIND
int MINI_KIND
String VIDEO_ID:缩略图的原始图片
继承的常量:
public static final Uri EXTERNAL_CONTENT_URI
public static final Uri INTERNAL_CONTENT_URI
方法:
cancelThumbnailRequest(ContentResolver cr, long origId):取消缩略图请求
cancelThumbnailRequest(ContentResolver cr, long origId, long groupId)
getContentUri(String volumeName):
getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options):检查制定图片的缩略图是否已经创建
getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options)
// MediaStore.Video.Thumbnails.DATA:视频缩略图的文件路径
String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA,
MediaStore.Video.Thumbnails.VIDEO_ID };
int id = cursor.getInt(cursor
.getColumnIndex(MediaStore.Video.Media._ID));
Cursor thumbCursor = MainActivity.this.getContentResolver().query(
MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,
thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID
+ "=" + id, null, null);
- 接口MediaStore.Video.VideoColumns