利用ContentProvider获得本设备上所有的音/视频文件信息
来源:互联网 发布:远程软件哪个好用mac 编辑:程序博客网 时间:2024/05/20 23:59
利用ContentProvider获得本设备上所有的音/视频文件信息
ArrayList<Song> songs = null;
Cursor cursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, // 第一个参数:指定是去媒体库取数据
new String[] {
MediaStore.Audio.Media._ID, // 歌曲编号
MediaStore.Audio.Media.DISPLAY_NAME, // 文件名,如:2034783742837.mp3
MediaStore.Audio.Media.TITLE, // 歌曲名,如:双节棍
MediaStore.Audio.Media.DURATION, // 歌曲播放的时长
MediaStore.Audio.Media.ARTIST, // 艺术家(唱歌的人/弹奏的人)
MediaStore.Audio.Media.ALBUM, // 专辑
MediaStore.Audio.Media.YEAR, // 年份
MediaStore.Audio.Media.MIME_TYPE, // 歌曲类型,如mp3,wma,rm之类
MediaStore.Audio.Media.SIZE, // 占多大的空间,如3.14M
MediaStore.Audio.Media.DATA // 文件的存放路径
}, // 第二个参数:指定取哪些列
null, // 查询的过滤条件
null, // 查询的过滤条件
null);
songs = new ArrayList<Song>();
if (cursor.moveToFirst()) {
Song song = null;
do {
song = new Song();
// 文件名
song.setFileName(cursor.getString(1));
// 歌曲名
song.setTitle(cursor.getString(2));
// 时长
song.setDuration(cursor.getInt(3));
// 歌手名
song.setSinger(cursor.getString(4));
// 专辑名
song.setAlbum(cursor.getString(5));
// 年代
if (cursor.getString(6) != null) {
song.setYear(cursor.getString(6));
} else {
song.setYear("未知");
}
// 歌曲格式
if ("audio/mpeg".equals(cursor.getString(7).trim())) {
song.setType("mp3");
} else if ("audio/x-ms-wma".equals(cursor.getString(7).trim())) {
song.setType("wma");
}
// 文件大小
if (cursor.getString(8) != null) {
float size = cursor.getInt(8) / 1024f / 1024f;
song.setSize((size + "").substring(0, 4) + "M");
} else {
song.setSize("未知");
}
// 文件路径
if (cursor.getString(9) != null) {
song.setFileUrl(cursor.getString(9));
}
songs.add(song);
} while (cursor.moveToNext());
cursor.close();
}
- 利用ContentProvider获得本设备上所有的音/视频文件信息
- 利用函数来获得本机所有的端口
- 遍历本驱动设备链 (附加)设备栈上的设备 信息
- 使用ContentProvider获取联系人的所有信息
- 获得iphone设备的信息
- 获得所有信息的多选框
- 【C++】获得本机所有网卡的IP和MAC地址信息
- 【C++】获得本机所有网卡的IP和MAC地址信息
- 获得本机所有网卡的IP和MAC地址信息
- 【C++】获得本机所有网卡的IP和MAC地址信息
- 获取设备上所有系统app信息
- apple的所有设备信息
- 利用Python扫描一个目录下所有的视频文件
- 利用ffmpeg解析视频文件信息
- 获取本机所有网卡的信息
- Android 获得设备关联的帐号信息
- 获得ios设备的一些信息
- 获得所有表信息的SQL语句
- angular http post后端无法获取数据的解决方案
- ScrollView和ListView一起使用,解决ListView只显示一行问题!
- 基于Web App的 渗透之路开启
- MatConvNet代码梳理3--vl_argparse()
- jboss与spring结合配置数据源
- 利用ContentProvider获得本设备上所有的音/视频文件信息
- 【后台学习】编写后台接口
- jquery 学习笔记3 遍历
- Android 4.4的栈结构变化
- opnet之自行设计csma/ca
- sigmoid函数拟合的亚像素边缘
- VS2010,2012,2013自定义注释[代码段]的另种方法
- 工资管理系统源码下载
- 二叉树演示C代码