有没有可能按歌曲而不是按唱片集拍摄封面照片?
因为我有一张带歌曲的自组合专辑,而且它们都有不同的封面图片。
但当我想查询它们时,总是得到相同的图片。
String[] ARG_STRING = {MediaStore.Audio.Media.ALBUM_ID};
...
String albumCover = _cursor.getString(_cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
...
MusicUtils.getArtwork(this, -1, Integer.parseInt(albumID));
所以我想知道怎样才能得到一首歌的封面图片。
我知道Musicutils支持按SongID获取Artwork,但我应该使用哪个ID,因为mediastore.audio.media.\u ID不起作用。
最佳答案
我不熟悉MusicUtils
,但是,您应该可以使用MediaMetadataRetriever
从文件本身获取封面艺术。下面是一个简短的代码片段,展示了如何使用它。引用的uri是要检索艺术的文件的内容uri。
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
byte[] rawArt;
Bitmap art;
BitmapFactory.Options bfo=new BitmapFactory.Options();
mmr.setDataSource(getApplicationContext(), uri);
rawArt = mmr.getEmbeddedPicture();
// if rawArt is null then no cover art is embedded in the file or is not
// recognized as such.
if (null != rawArt)
art = BitmapFactory.decodeByteArray(rawArt, 0, rawArt.length, bfo);
// Code that uses the cover art retrieved below.
关于android - 通过歌曲获取封面图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15314617/