【问题标题】:Android: Album Art getting replaced with some image from galleryAndroid:专辑封面被画廊中的一些图片取代
【发布时间】:2016-06-21 15:09:15
【问题描述】:

我为 Android 构建了一个音乐播放器应用程序。在某些歌曲中,当我加载专辑封面时,它会显示画廊中的其他图像。即使他们的专辑封面没有丢失,它也很少发生并且仅在某些歌曲中发生。我正在从"content://media/external/audio/albumart/" + songId 获取专辑封面。我不明白为什么它从这个 uri 的画廊中挑选图像。这首歌在 Google play 音乐应用中显示正确的图像。发生在朋友的手机里。此 URI 不显示专辑封面,而是显示他的自拍图像。

试图调试这个问题我真的筋疲力尽。非常感谢任何帮助。

【问题讨论】:

  • 能否请您添加选择专辑封面的代码
  • @crysis 你是图片加载的毕加索吗
  • @ankitagrawal 是的,我正在使用毕加索。是毕加索的虫子吗?
  • 看我的答案是缩略图框架方法错误使用我的答案来解决您的问题

标签: android android-contentprovider


【解决方案1】:

有问题

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

【讨论】:

  • 我在回收站视图中使用它。我必须缓存图像,所以我认为最好使用库。 Universal Image Loader是不是也有这个问题?
  • 解析albumId到uri如何获取专辑封面uri?
  • albumid is "content://media/external/audio/albumart/" + songId那个变量名albuid名字不对是路径
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多