Android专辑封面问题:resolveUri在坏位图uri上失败

时间:2011-07-18 17:56:42

标签: android

我正在尝试显示相册列表(存储在SD卡上的音乐mp3)以及每张专辑的专辑封面。专辑封面存储在mp3s标签中(它不是SD卡上的单独图像)

我可以使用以下方式获取相册详情:

String[] projection = new String[] { Albums._ID, Albums.ALBUM, Albums.ARTIST, Albums.ALBUM_ART, Albums.NUMBER_OF_SONGS };
        String rowsToReturn = null;
        String[] selectionWhere = null;
        String sortOrder = Media.ALBUM + " ASC";

        Cursor cursor = contentResolver.query(Albums.EXTERNAL_CONTENT_URI, projection, rowsToReturn, selectionWhere, sortOrder);

        String albumArtUri = cursor.getString(cursor.getColumnIndex(Albums.ALBUM_ART));

URI是正确的,但是当我尝试将URi设置为ImageView的src时,我会收到一个静默错误“resolveUri在坏位图uri上失败”。

imageview.setImageURI(Uri.parse(albumArtUri));

这仅适用于某些相册。有些很好,并正确显示专辑封面。 我查看了URI路径,并在SD卡上查看缩略图,并在此处找到它们:/mnt/sdcard/Android/data/com.android.providers.media/albumthumbs /

我发现图像不起作用,图像不存在,因此图像确实存在,但无法正确读取。我甚至尝试从sd卡上复制图像并在文件中添加.png扩展名 - 那些出现在手机上的文件,但那些没有“腐败”的文件

最后,我将mp3文件本身复制回PC并检查了标签中嵌入的专辑封面,它们都显示正确。

这几乎就像Android系统正在创建的缩略图一样,标签无效或损坏,但这不可能是正确的。

或许我需要以不同的方式阅读它们?

1 个答案:

答案 0 :(得分:0)

我认为问题可能在于媒体扫描。删除缓存文件夹并打开音乐播放器应用程序。它将为所有歌曲再次创建专辑缓存。看看这是否有帮助。