2
很像音樂應用程序做我想要訪問的歌曲(而不是文件名),或藝術家或專輯的名稱。例如,我想用手機上所有歌曲的名字填充一個listview。如何訪問android中手機上存儲的音樂名稱,藝術家,專輯名稱?
很像音樂應用程序做我想要訪問的歌曲(而不是文件名),或藝術家或專輯的名稱。例如,我想用手機上所有歌曲的名字填充一個listview。如何訪問android中手機上存儲的音樂名稱,藝術家,專輯名稱?
有兩種方法可供選擇,一個讀meta標籤從音樂文件本身和一個使用MediaStore
內容提供商。 MediaStore
本質上是一個公共數據庫,您可以查詢手機上的所有媒體相關信息。
使用MediaStore
非常簡單,可以在文檔here中找到。
這裏是我的應用程序一個簡單的例子:
String[] proj = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Artists.ARTIST };
tempCursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
proj, null, null, null);
tempCursor.moveToFirst(); //reset the cursor
int col_index=-1;
int numSongs=tempCursor.getCount();
int currentNum=0;
do{
col_index = tempCursor.getColumnIndexOrThrow(MediaStore.Audio.Artists.ARTIST);
artist = tempCursor.getString(col_index);
//do something with artist name here
//we can also move into different columns to fetch the other values
}
currentNum++;
}while(tempCursor.moveToNext());