如何在Android(API 19)
问题描述:
中获取MEDIA(MediaStore.Audio.Media)的封面艺术所以我试图构建一个非常简单的音乐播放器(我刚刚在几天前开始使用Android)。直到现在我编写了检索歌曲信息的代码。但是,我无法检索每个媒体的专辑封面。 我知道MediaStore.Audio.Album中有一列ALBUM_ART(我试图为每张专辑检索专辑封面并且它工作正常),但是我想将专辑封面分配给每首歌曲,但我不知道该怎么做它。 网上冲浪,我发现这样的代码:如何在Android(API 19)
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, albumId);
但它似乎没有工作,我得到的是null
。有人可以向我解释如何检索每首歌曲的专辑封面吗?
答
String [] columns = {android.provider.MediaStore.Audio.Albums._ID, android.provider。 MediaStore.Audio.Albums.ALBUM,android.provider.MediaStore.Audio.Albums.ALBUM_ART}; int album_column_index = 0; Cursor cursor = getActivity()。managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,columns,null, null,null);
if (cursor.moveToFirst()) {
do {
arrAlbumNAme.add(cursor.getString(cursor
.getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM)));
album_column_index = cursor.getColumnIndexOrThrow(android.provider.MediaStore.Audio.Albums._ID);
//cursor.moveToPosition(position);
albumID = cursor.getInt(album_column_index);
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri uri = ContentUris.withAppendedId(sArtworkUri, albumID);
arrAlbumArt.add(cursor.getString(cursor
.getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM_ART)));
} while (cursor.moveToNext());
}
内部适配器 holder.image_icon.setImageUri(arrAlbumArt.get(位置));