2014-07-10 11 views
0

그래서 아주 간단한 음악 플레이어를 만들려고합니다. (저는 며칠 전 안드로이드로 작업하기 시작했습니다). 지금까지 노래 정보를 검색하는 코드를 작성했습니다. 그러나 모든 단일 미디어에 대한 앨범 아트를 검색 할 수는 없습니다. MediaStore.Audio.Album에 ALBUM_ART라는 열이 있음을 압니다. (각 앨범의 앨범 아트를 검색하려고했는데 효과가있었습니다.)하지만 각 노래에 앨범 아트를 지정하고 싶습니다. 어떻게해야할지 모르겠습니다. 그것. 인터넷 서핑 나는 이러한 종류의 코드 발견 :MEDIA (MediaStore.Audio.Media)의 Cover Art를 Android (API 19)로 가져 오는 방법

Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart"); 
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, albumId); 

을하지만 작동하지 않는 것, 내가 할 모든 null입니다. 다른 사람이 각 노래의 앨범 아트를 검색하는 방법을 설명 할 수 있습니까?

답변

0

String [] columns = {android.provider.MediaStore.Audio.Albums._ID, android.provider. MediaStore.Audio.Albums.ALBUM, android.provider.MediaStore.Audio.Albums.ALBUM_ART}; int album_column_index = 0; 커서 커서 = getActivity(). managedQuery ( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null);

 if (cursor.moveToFirst()) { 
      do { 


       arrAlbumNAme.add(cursor.getString(cursor 
         .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM))); 
       album_column_index = cursor.getColumnIndexOrThrow(android.provider.MediaStore.Audio.Albums._ID); 
       //cursor.moveToPosition(position); 
       albumID = cursor.getInt(album_column_index); 
       Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart"); 
       Uri uri = ContentUris.withAppendedId(sArtworkUri, albumID); 
       arrAlbumArt.add(cursor.getString(cursor 
         .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM_ART))); 

      } while (cursor.moveToNext()); 
     } 

내부 어댑터 holder.image_icon.setImageUri (arrAlbumArt.get (위치));