Genre'si alın? Şarkıyı okuyabilir, ama nasıl ben saklanır o şarkı için tarz kapmak mı?Bir Şarkı
Teşekkürler! Orada ne zaman kurulduğunu
Genre'si alın? Şarkıyı okuyabilir, ama nasıl ben saklanır o şarkı için tarz kapmak mı?Bir Şarkı
Teşekkürler! Orada ne zaman kurulduğunu
Bunu ID3-Etiketler sırasıyla dosyalarsanız mp3 den kendini alabilirsiniz. Bir mp3 dosyasındaki tezlere ulaşmanıza yardımcı olacak bazı java kütüphaneleri olmalıdır.
Evet, MediaStore üzerinden bunu yapmanın bir yolu yok mu? Aradığım şey bu. – Jeff
Kontrol Bu kod:
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());
}
}
}
fonksiyonu getContentUriForAudioId nedir? –
Bunu kullanmak var ama android 2.3.6 hiçbir yöntem yoktur çünkü android 2.3.5 düştü olsun. Alt sürüm cihaz için lütfen bana yardım edin. –
bu size tüm türlerin sadece bir listesini verecektir ama hangi tür hangi şarkı aittir – jazz
hala bir cevap -----
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);
Ben de aynı arıyorum arıyorsanız. – Sandy
[buradan] Bakın [1] [1]: http://stackoverflow.com/questions/9785370/display-all-song-from-the-sd-card-genre-wise – user4232