Получить жанр песни

Как мне читать про жанр, с которым связана песня? Я могу прочитать эту песню, но как я могу захватить жанр для этой песни, где она хранится?

Благодаря!

Solutions Collecting From Web of "Получить жанр песни"

Проверьте этот код:

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()); } } } 

Если вы все еще ищете ответ —–

 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); 

Вы можете получить его из mp3-файла it self соответственно из своих ID3-тегов, когда он был установлен там. Там должны быть некоторые java-библиотеки, которые помогут вам получить доступ к тезу тегов из mp3-файла.