我为Android构建了一个音乐播放器应用程序。在我加载专辑封面的一些歌曲中,它会显示来自画廊的其他一些图像。它很少发生,只有在某些歌曲中,即使他们的专辑艺术没有丢失。我正在从"content://media/external/audio/albumart/" + songId
获取专辑封面。我不明白为什么它会从这个uri的画廊中挑选图片。这首歌在Google Play音乐应用中显示正确的图像。它发生在朋友的手机上。该URI不是显示专辑封面,而是显示他的自拍图像。
我真的很累,试图调试这个问题。我真的很感激任何帮助。
答案 0 :(得分:0)
存在问题
Images.Thumbnails.getThumbnail(contentResolver, id, Kind, options);
方法,
有时会从sdcard返回随机图像,使用以下方法解决:
public Bitmap findArtworkbyAlbumId(Context activity, String albumId) {
Bitmap artwork = null;
if (albumId == null) {
return null;
}
Uri uri = Uri.parse(albumId);
Log.e("tag", uri.toString());
ContentResolver res = activity.getContentResolver();
InputStream in;
try {
in = res.openInputStream(uri);
if (in != null) {
artwork = BitmapFactory.decodeStream(in, null, null);
in.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return artwork;
}