Java 如何在android(API 19)中获取媒体(MediaStore.Audio.MEDIA)的封面艺术

Java 如何在android(API 19)中获取媒体(MediaStore.Audio.MEDIA)的封面艺术,java,android,audio,uri,albumart,Java,Android,Audio,Uri,Albumart,所以我正在尝试构建一个非常简单的音乐播放器(我几天前才开始使用android)。到目前为止,我编写了检索歌曲信息的代码。然而,我无法检索每一种媒体的专辑艺术。 我知道MediaStore.Audio.ALBUM中有一个专栏ALBUM_ART(我试图检索每个专辑的专辑艺术,但它成功了),但我想将专辑艺术分配给每首歌曲,我不知道如何操作。 在网上我发现了这样的代码: Uri sArtworkUri = Uri.parse("content://media/external/audio/albumar

所以我正在尝试构建一个非常简单的音乐播放器(我几天前才开始使用android)。到目前为止,我编写了检索歌曲信息的代码。然而,我无法检索每一种媒体的专辑艺术。 我知道MediaStore.Audio.ALBUM中有一个专栏ALBUM_ART(我试图检索每个专辑的专辑艺术,但它成功了),但我想将专辑艺术分配给每首歌曲,我不知道如何操作。 在网上我发现了这样的代码:

Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, albumId);

但它似乎不起作用,我得到的只是
null
。有人能告诉我如何检索每首歌曲的唱片集吗?

String[]columns={android.provider.MediaStore.Audio.Albums.\u ID, android.provider.MediaStore.Audio.Albums.ALBUM,android.provider.MediaStore.Audio.Albums.ALBUM_ART}; int相册列索引=0; Cursor Cursor=getActivity().managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,列,null, 空,空)

内部适配器 holder.image_icon.setImageUri(arrAlbumArt.get(position))

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