獲取歌曲的流派
回答
當它被設置在那裏時,你可以從它自己的mp3文件中分別從它的ID3標籤中得到它。應該有一些java庫在那裏幫助你從mp3文件訪問這些標籤。
是的,但是通過MediaStore無法做到這一點?這就是我要找的。 – Jeff 2010-09-16 20:33:17
檢查這個代碼:
public class MusicLibraryScanner {
private static Cursor mediaCursor;
private static Cursor genresCursor;
private static String[] mediaProjection = {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.TITLE
};
private static String[] genresProjection = {
MediaStore.Audio.Genres.NAME,
MediaStore.Audio.Genres._ID
};
public static void getMusicFromStorage(Context context) {
mediaCursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
mediaProjection, null, null, null);
int artist_column_index = mediaCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST);
int album_column_index = mediaCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM);
int title_column_index = mediaCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE);
int id_column_index = mediaCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media._ID);
if (mediaCursor.moveToFirst()) {
do {
String info = "Song " + mediaCursor.getString(title_column_index) + " ";
info += "from album " + mediaCursor.getString(album_column_index) + " ";
info += "by " + mediaCursor.getString(artist_column_index) + ". ";
int musicId = Integer.parseInt(mediaCursor.getString(id_column_index));
Uri uri = MediaStore.Audio.Genres.getContentUriForAudioId("external", musicId);
genresCursor = context.getContentResolver().query(uri,
genresProjection, null, null, null);
int genre_column_index = genresCursor.getColumnIndexOrThrow(MediaStore.Audio.Genres.NAME);
if (genresCursor.moveToFirst()) {
info += "Genres: ";
do {
info += genresCursor.getString(genre_column_index) + " ";
} while (genresCursor.moveToNext());
}
Log.e("Audio scanner", "Song info: " + info);
} while (mediaCursor.moveToNext());
}
}
}
getContentUriForAudioId函數是什麼? – 2014-07-03 11:30:26
我已經使用它,但它在android 2.3.5中崩潰,因爲在android 2.3.6中沒有Method。請幫助我的較低版本的設備。 – 2014-07-07 12:43:33
這將只給你所有流派的列表,但不包括哪首歌曲屬於哪首歌曲 – jazz 2016-07-26 19:34:41
如果你還在尋找一個答案-----
MediaMetadataRetriever mr = new MediaMetadataRetriever();
Uri trackUri = ContentUris.withAppendedId(
android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,song_id);
mr.setDataSource(mContext, trackUri);
String thisGenre = mr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE);
- 1. 從每首歌曲獲取HTTP MP3流
- 2. 有什麼方法可以使用MediaStore獲取歌曲的流派?
- 3. 如何在Android中的一個查詢中獲得各個流派的流派和歌曲數量?
- 4. 歌曲#流派中的NoMethodError。未定義的方法'each'for nil:NilClass
- 5. 從歌曲獲取ALBUM_ART
- 6. 獲取歌曲元數據
- 7. ExoPlayer:從HTTP流獲取歌曲的元數據
- 8. Soundcloud:獲取向歌曲組貢獻歌曲的所有用戶
- 9. 如何從itunes庫中獲取只有歌曲的歌曲itlibrary.h
- 10. 使用Applescript在iTunes中獲取流媒體曲目的歌曲名稱
- 11. 流歌曲使用的GameKit
- 12. 獲取音樂流派中的YouTube
- 13. 歌詞與歌曲的關聯流程
- 14. python icecast/shoutcast流代理,添加流派/歌曲名稱/藝術家元數據?
- 15. 從soundcloud獲取歌曲信息,歌曲ID爲
- 16. 如何獲取歌曲標題? Android的
- 17. 如何從MediaLibrary獲取歌曲的URI?
- 18. 在Android中獲取歌曲的BPM
- 19. 獲取歌曲文件頭的問題
- 20. AVFoundation獲取歌曲的專輯圖像
- 21. 查詢:獲取歌曲的作者並統計該作者的歌曲總數
- 22. 通過Android獲取歌曲信息
- 23. 在javascript中獲取mp3歌曲時長
- 24. 如何從mediastore獲取歌曲?
- 25. WP7如何獲取當前歌曲
- 26. 如何從iTunes獲取歌曲信息?
- 27. 按歌曲獲取封面圖片
- 28. 從Spotify API獲取隨機歌曲
- 29. Spotify API:獲取隨機歌曲
- 30. 從ipods獲取歌曲名稱
我也在尋找相同。 – Sandy 2010-12-31 08:25:46
看[這裏] [1] [1]:http://stackoverflow.com/questions/9785370/display-all-song-from-the-sd-card-genre-wise – user4232 2012-05-08 09:24:27