Android 如何获得专辑封面查询歌曲

Android 如何获得专辑封面查询歌曲,android,cursor,media-player,mediastore,albumart,Android,Cursor,Media Player,Mediastore,Albumart,如何获得“封面歌曲”(因此同一张专辑中的歌曲具有相同的封面) 我需要另一个问题吗?我不想查询所有相册,我不知道如何将歌曲连接到相册…您需要在上面的查询中包含相册id int albumIdColumn = musicCursor.getColumnIndex (MediaStore.Audio.Media.ALBUM_ID); long albumId = musicCursor.getLong(albumIdColumn); 使用相册id,您可以查询封面的路径,如下

如何获得“封面歌曲”(因此同一张专辑中的歌曲具有相同的封面)


我需要另一个问题吗?我不想查询所有相册,我不知道如何将歌曲连接到相册…

您需要在上面的查询中包含相册id

int albumIdColumn = musicCursor.getColumnIndex
            (MediaStore.Audio.Media.ALBUM_ID);

long albumId = musicCursor.getLong(albumIdColumn);
使用相册id,您可以查询封面的路径,如下所示:

private static String getCoverArtPath(long albumId, Context context) {
    Cursor albumCursor = context.getContentResolver().query(
            MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
            new String[]{MediaStore.Audio.Albums.ALBUM_ART},
            MediaStore.Audio.Albums._ID + " = ?",
            new String[]{Long.toString(albumId)},
            null
    );
    boolean queryResult = albumCursor.moveToFirst();
    String result = null;
    if (queryResult) {
        result = albumCursor.getString(0);
    }
    albumCursor.close();
    return result;
}
private static String getCoverArtPath(long albumId, Context context) {
    Cursor albumCursor = context.getContentResolver().query(
            MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
            new String[]{MediaStore.Audio.Albums.ALBUM_ART},
            MediaStore.Audio.Albums._ID + " = ?",
            new String[]{Long.toString(albumId)},
            null
    );
    boolean queryResult = albumCursor.moveToFirst();
    String result = null;
    if (queryResult) {
        result = albumCursor.getString(0);
    }
    albumCursor.close();
    return result;
}