2011-07-18 13 views
0

各アルバムのアルバムアートと共に、(sdカードに保存された音楽mp3の)アルバムのリストを表示しようとしています。私がしようとすると、Androidアルバムアートサムネイルの問題:不良bitmap uriでresolveUriが失敗しました

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が正しいですが、:アルバムアートが

私が使用して、アルバムの詳細罰金取得することができます(SDカード上の別の画像ではありません)MP3ファイルのタグに格納されています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システムが作成しているサムネイルが無効であるか破損しているかのようですが、これは正しいとは限りません。

多分私はそれらを別々に読む必要がありますか?

答えて

0

私はこの問題がメディアスキャンの可能性があると思います。キャッシュフォルダを削除して音楽プレーヤーアプリを開くと、すべての曲のアルバムキャッシュが再び作成されます。これが役立つかどうかを見てください。

関連する問題