简体   繁体   English

如何在Android(API 19)中获取MEDIA(MediaStore.Audio.Media)的封面

[英]How to fetch Cover Art for MEDIA (MediaStore.Audio.Media) in android (API 19)

So i'm trying to build a very simple music player (I started working with android just a few days ago). 因此,我正在尝试构建一个非常简单的音乐播放器(几天前我才开始使用android)。 Till now I wrote the code to retrieve songs informations. 到现在为止,我编写了代码来检索歌曲信息。 However I'm not able to retrieve the album art for every single media. 但是,我无法为每种媒体检索专辑封面。 I know there is a column ALBUM_ART in MediaStore.Audio.Album (I tried to retrieve the Album art for each album and it worked), but I want to assign the album art to each song and I don't know how to do it. 我知道MediaStore.Audio.Album中有一列ALBUM_ART(我试图检索每个专辑的专辑封面,并且有效),但是我想将专辑封面分配给每首歌,但我不知道该怎么做。 Surfing the net I found this kind of code: 在网上冲浪时,我发现了以下代码:

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

But it doesn't seem to work, all I get is null . 但这似乎不起作用,我得到的只是null Can someone explain me how to retrieve the album art for each song? 有人可以解释一下如何检索每首歌曲的专辑封面吗?

String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider. String []列= {android.provider.MediaStore.Audio.Albums._ID,android.provider。 MediaStore.Audio.Albums.ALBUM,android.provider.MediaStore.Audio.Albums.ALBUM_ART }; MediaStore.Audio.Albums.ALBUM,android.provider.MediaStore.Audio.Albums.ALBUM_ART}; int album_column_index=0; int album_column_index = 0; Cursor cursor = getActivity().managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null); 游标游标= getActivity()。managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,列,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());
        }

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM