小葫芦2017-04-18 10:51:293楼
首先解决你的一点疑惑,如何获取本地所有视频路径。Android系统在存储视频,音频,图片等资源的时候,会自动把其相关信息存储在数据库中,信息包括名字,大小,存储路径等。假如我们播放某一视频文件,从数据库中获取其存储路径,然后通过路径获取视频本身。那么你需要做以下几件事:
1、了解存储Android视频信息数据库的名称,字段
2、了解获取Android获取数据库中数据的方法,Android已经封装好的
看下扫描所有Video信息的代码,随手搜的,不确保是对的哈,给你注释下。
private void scanVideoUri(){
//通过ContentResolver从数据库获取信息,Curse是获取的结果
Cursor cursor = mContext.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
null, null, null, null);
int totalCount =cursor.getCount();//计算所有结果的条数
cursor.moveToFirst();//此句一定要有
//遍历所有的Video信息
for( int i = 0;i < totalCount;i++){
String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
String data1 = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
String title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.TITLE));
String type = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE));
int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID));
Log.e(TAG, data+title+type);
cursor.moveToNext();//访问下一个
}
}
代码看不懂很正常,把目标分解,然后拼接就会得到最后的结果。