首页 > 代码库 > 获取本地视频

获取本地视频

首先自己写一个视频实体类,代码如下:

public class VideoEntity {
	public int ID;//ID
	public String title;//标题
	public String filePath;//绝对路径
	public int size;//大小
	public int duration;//时长
}

再查询本地数据库,根据传入相应字段,获取数据,代码如下:

private void getVideoFile(){
		ContentResolver mContentResolver = getContentResolver();
		Cursor cursor = mContentResolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null,
		                                       MediaStore.Video.DEFAULT_SORT_ORDER);
		
		if (cursor.moveToFirst()) {
			do {
				// ID:MediaStore.Audio.Media._ID
				int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID));

				// 名称:MediaStore.Audio.Media.TITLE
				String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));
				
				// 路径:MediaStore.Audio.Media.DATA
				String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));

				// 总播放时长:MediaStore.Audio.Media.DURATION
				int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION));

				// 大小:MediaStore.Audio.Media.SIZE
				int size = (int) cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE));

				VideoEntity entty = new VideoEntity();
				entty.ID = id;
				entty.title = title;
				entty.filePath = url;
				entty.duration = duration;
				entty.size = size;
				//mList.add(entty);
			} while (cursor.moveToNext());

		}
		if (cursor != null) {
			cursor.close();
			cursor = null;
		}
	
	}


获取本地视频