扫描sdcard中的音乐文件
http://zhidao.baidu.com/link?url=u5sz72eMaYCvzb3ZtuYpUt9eAV-bWom98aMuL1FYs2yHUHTBF6QZGnjGPOGQbRRG0zfFwt53iBav9Uf2NNdOh1tcs6ASnaY8BvPHNw4-M_y
Android系统会自动把添加到SD卡上的歌曲添加到一个SQLite数据库里 我们要做的就是把歌曲的信息从这个数据库里查询出来
查询SD卡上的mp3歌曲信息
Cursor mAudioCursor = this.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null,// 字段 没有字段 就是查询所有信息 相当于SQL语句中的 “ * ”
null, // 查询条件
null, // 条件的对应?的参数
MediaStore.Audio.AudioColumns.TITLE);// 排序方式
// 循环输出歌曲的信息
List<Map<String, Object>> mListData = new ArrayList<Map<String, Object>>();
for (int i = 0; i < mAudioCursor.getCount(); i++) {
mAudioCursor.moveToNext();
// 找到歌曲标题和总时间对应的列索引
int indexTitle = mAudioCursor
.getColumnIndex(MediaStore.Audio.AudioColumns.TITLE);//歌名
int indexARTIST = mAudioCursor
.getColumnIndex(MediaStore.Audio.AudioColumns.ARTIST);//艺术家
int indexALBUM = mAudioCursor
.getColumnIndex(MediaStore.Audio.AudioColumns.ALBUM);//专辑
String strTitle = mAudioCursor.getString(indexTitle);
String strARTIST = mAudioCursor.getString(indexARTIST);
String strALBUM = mAudioCursor.getString(indexALBUM);
HashMap<String, Object> nowMap = new HashMap<String, Object>();
nowMap.put("SongName", strTitle + "---" + strARTIST
+ "---" + strALBUM);
mListData.add(nowMap);
}
加载到ListView里就很简单了
浙公网安备 33010602011771号