Obtener el género de una canción

¿Cómo puedo leer el género al que está asociada una canción? Puedo leer la canción, pero ¿cómo puedo agarrar el género de esa canción, donde se almacena?

¡Gracias!

Compruebe este código:

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

Si usted todavía está buscando una respuesta —–

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

Usted puede conseguirlo del archivo mp3 él mismo respectivamente de sus etiquetas ID3 cuando fue fijado allí. Debe haber algunas bibliotecas java por ahí que le ayudan a acceder tesis etiqueta de un archivo mp3.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.