猿问

获取 mediastore 中歌曲的翻唱

我正在尝试使用以下代码获取歌曲的封面(专辑艺术):


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上设置这个图像?如果您知道除此方法之外的任何其他方法,请告诉我。


Cats萌萌
浏览 115回答 1
1回答

POPMUISE

您可以从路径创建一个可绘制对象并设置它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 即可!
随时随地看视频慕课网APP

相关分类

Java
我要回答