gpt4 book ai didi

android - 获取专辑封面图片

转载 作者:行者123 更新时间:2023-11-29 01:09:45 28 4
gpt4 key购买 nike

我在 Android Studio 上制作了一个简单的 mp3 播放器,我知道如何获取艺术家姓名和歌曲标题,但我不知道如何获取专辑封面图像(在 ImageView 中设置)这是我用来获取并在 ListView 上显示带有艺术家和标题的轨道的代码

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());
}

}

最佳答案

用它来获取专辑封面的uri

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;
}

关于android - 获取专辑封面图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44040828/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com