解决方案 »

  1.   

    http://blog.csdn.net/dany1202/article/details/6532024
      

  2.   

    我看过这个帖子,songId取出来不是long型,拿去用会找不到图片。关键是系统数据库里面存图片是存的什么字段、
      

  3.   

    http://blog.csdn.net/wwj_748/article/details/8902071  用cursor
      

  4.   

    http://blog.csdn.net/wwj_748/article/details/8902071
      

  5.   

    public  Bitmap getMusicBitemp(Context context, long songid,
    long albumid) {
    Uri sArtworkUri = Uri
    .parse("content://media/external/audio/albumart");
    Bitmap bm = null;
    // 专辑id和歌曲id小于0说明没有专辑、歌曲,并抛出异常
    if (albumid < 0 && songid < 0) {
    throw new IllegalArgumentException(
    "Must specify an album or a song id");
    }
    try {
    if (albumid < 0) {
    Uri uri = Uri.parse("content://media/external/audio/media/"
    + songid + "/albumart");
    InputStream is= context.getContentResolver().openInputStream(uri);
    if (is != null) {
    bm=BitmapFactory.decodeStream(is);
    }
    } else {
    Uri uri = ContentUris.withAppendedId(sArtworkUri, albumid);
    InputStream is= context.getContentResolver().openInputStream(uri);
    if (is != null) {
    bm=BitmapFactory.decodeStream(is);

    } else {
    return null;
    }
    }
    } catch (FileNotFoundException ex) {
    }
    return bm;
    }
    songid 和albumid 从Cursor cursor1 = context.getContentResolver().query(
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,
    null);从这个表里面取得字段为MediaStore.Audio.Media._ID,,MediaStore.Audio.Media.ALBUM_ID。祝你好运!
      

  6.   

    int songid = cursor.getInt(cursor
    .getColumnIndex(MediaStore.Audio.Media._ID));
    int albumid = cursor.getInt(cursor
    .getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));