2013-03-09 94 views
1

是否可以通過歌曲而不是專輯獲得封面圖片? 因爲我有一個自己與歌曲相結合的專輯,他們都有不同的封面圖片。 但是,當我想查詢他們時,我總是得到相同的圖片返回。按歌曲獲取封面圖片

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的getArtwork,但是我應該使用什麼ID,因爲MediaStore.Audio.Media._ID不起作用。

回答

10

我不熟悉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. 
+0

@MartinMetselaar在哪裏yu正在獲取圖像uri一首歌.. ??如何獲得圖像uri一首歌? – 2017-08-04 08:51:03