1. 程式人生 > >獲取SD卡音樂檔案

獲取SD卡音樂檔案

private ArrayList<Music> queryMusics() {
ArrayList<Music> musiclistResult = new ArrayList<Music>();
ContentResolver cr = this.getContentResolver();
Cursor musics = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[] {
MediaStore.Audio.Media._ID, // int
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATA, // String
MediaStore.Audio.Media.DISPLAY_NAME, // String
MediaStore.Audio.Media.MIME_TYPE // String
},
MediaStore.Audio.Media.IS_MUSIC + " = 1 AND "
+ MediaStore.Audio.Media.DURATION + " > 10000",
null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
Log.d("", "musics : " + musics.getCount());


musics.moveToFirst();
while (!musics.isAfterLast()) {
Music temp = new Music();
temp._ID = musics.getInt(musics.getColumnIndex(MediaStore.Audio.Media._ID));
temp.ALBUM = musics.getString(musics.getColumnIndex(MediaStore.Audio.Media.ALBUM));
temp.ARTIST = musics.getString(musics.getColumnIndex(MediaStore.Audio.Media.ARTIST));
temp.DATA = musics.getString(musics.getColumnIndex(MediaStore.Audio.Media.DATA));
temp.DURATION = musics.getLong(musics.getColumnIndex(MediaStore.Audio.Media.DURATION));
temp.TITLE = musics.getString(musics.getColumnIndex(MediaStore.Audio.Media.TITLE));
temp.isExist = true;


musiclistResult.add(temp);
musics.moveToNext();
}
musics.close();
return musiclistResult;
}
/**
* 音樂的資訊

* @author BabyBeaR
*/
@SuppressWarnings("unused")
private class Music {
int _ID;
long DURATION;
boolean isExist;
String TITLE, ARTIST, ALBUM, DATA;
}