使用毕加索展示音乐专辑封面

时间:2017-03-06 10:32:08

标签: android uri picasso android-file

您好我需要使用 Picasso 有效地为音乐文件显示专辑封面。我已经在我的应用中配置了毕加索。但我无法从音乐文件的内部存储中显示专辑封面。

我尝试了这段代码,但它不起作用意味着没有错误,但它没有显示任何内容。

  1. 使用uri:

    cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Audio.AudioColumns.DURATION + ">0", null, sortOrder);
    
    cursor.moveToFirst();
    
    a = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
    
    l = Long.parseLong(a);
    final Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
    Uri uri = ContentUris.withAppendedId(sArtworkUri, l);
    
    Picasso.with(MainActivity.this).load(uri).into(iv);
    
  2. 使用新文件:

    cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Audio.AudioColumns.DURATION + ">0", null, sortOrder);
    
    cursor.moveToFirst();
    
    a = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
    
    Picasso.with(this)
           .load(Uri.parse("file://"+a))
           .error(R.drawable.color_music_player_logo)
           .into(iv);
    

1 个答案:

答案 0 :(得分:1)

给毕加索绝对的道路如下:

String name = "image.jpeg";
String dir = Environment.getExternalStorageDirectory().getAbsolutePath();
Picasso.with(context).load(new File(dir + File.separator + name)).into(iv);

或者您可以使用filechooser,这样您就可以选择要加载的图片或显示图片列表,然后点击为您加载图片....