2011-07-18 45 views
0

我試圖顯示專輯列表(存儲在SD卡上的音樂mp3)以及每張專輯的專輯封面。該專輯封面存儲在MP3音樂標籤(這是不是在SD卡上的單獨圖像)Android專輯封面縮略圖問題:resolveUri在錯誤位圖上失敗uri

我可以用得到專輯的細節罰款:

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文件他們自己回到電腦並檢查標籤中嵌入的專輯封面,並且他們都能正確顯示。

這幾乎就像Android系統從標籤創建的縮略圖無效或損壞一樣,但這不可能是正確的。

或者我需要以不同的方式讀取它們?

回答

0

我認爲這個問題可能與媒體掃描有關。刪除緩存文件夾並打開音樂播放器應用程序。它將爲所有歌曲重新創建專輯緩存。看看這是否有幫助。