我正在尝试使用以下代码获取歌曲的封面(专辑艺术):public static String getCoverArtPath(Context context, long androidAlbumId) { String path = null; Cursor c = context.getContentResolver().query( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Audio.Albums.ALBUM_ART}, MediaStore.Audio.Albums._ID + "=?", new String[]{Long.toString(androidAlbumId)}, null); if (c != null) { if (c.moveToFirst()) { path = c.getString(0); } c.close(); } return path;}该方法返回图像路径的字符串,但该路径指向非格式化文件。如何在ImageView上设置这个图像?如果您知道除此方法之外的任何其他方法,请告诉我。
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
您可以从路径创建一个可绘制对象并设置它
Drawable drawable = Drawable.createFromPath(path_of_the_cover_art);
yourImageView.setImageDrawable(drawable);
或者创建一个文件:
File image = new File(path_of_the_cover_art);
if(image.exists()){
Bitmap bitmap = BitmapFactory.decodeFile(image.getAbsolutePath());
yourImageView.setImageBitmap(bitmap);
}
只需确保您拥有 WRITE_STORAGE_PERMISSION 即可!
添加回答
举报
0/150
提交
取消