2017-05-18 1 views
2

Ich habe einen einfachen MP3-Player auf Android Studio, ich weiß, wie Künstlername und Songtitel zu bekommen, aber ich weiß nicht, wie das Album Cover Image (in einem ImageView) Dies zu bekommen ist der Code, den ich auf einem Listview verwendet, um die Spuren mit dem Künstler und TitelGet Album Cover Image

public void getSongList() { 
     ContentResolver trackResolver = getContentResolver(); 
     Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
     Cursor trackCursor = trackResolver.query(musicUri, null, null, null, null); 


     if(trackCursor!=null && trackCursor.moveToFirst()){ 
      //get columns 
      int titleColumn = trackCursor.getColumnIndex 
        (android.provider.MediaStore.Audio.Media.TITLE); 
      int artistColumn = trackCursor.getColumnIndex 
        (android.provider.MediaStore.Audio.Media.ARTIST); 
      //add songs to list 
      do { 
       String thisTitle = trackCursor.getString(titleColumn); 
       String thisArtist = trackCursor.getString(artistColumn); 
       songList.add(new Song(thisId, thisTitle, thisArtist)); 
      } 
      while (trackCursor.moveToNext()); 
     } 

    } 
+1

zu erhalten und Anzeige erhalten [Dies könnte helfen Ihnen.] (http://stackoverflow.com/questions/17573972/how-can-i-display-album-art-using-mediastore-audio-albums-album-art) –

Antwort

1

Verwendung dieses die uri des Albumcover

public static Uri getArtUriFromMusicFile(Context context, File file) { 
    final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
    final String[] cursor_cols = { MediaStore.Audio.Media.ALBUM_ID }; 

    final String where = MediaStore.Audio.Media.IS_MUSIC + "=1 AND " + MediaStore.Audio.Media.DATA + " = '" 
      + file.getAbsolutePath() + "'"; 
    final Cursor cursor = context.getApplicationContext().getContentResolver().query(uri, cursor_cols, where, null, null); 
    /* 
    * If the cusor count is greater than 0 then parse the data and get the art id. 
    */ 
    if (cursor != null && cursor.getCount() > 0) { 
     cursor.moveToFirst(); 
     Long albumId = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID)); 

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