您的位置:首页 > 移动开发 > Android开发

android 完美获取音乐文件中的专辑图片并显示

2014-08-07 13:25 1891 查看
其实实现音乐中的专辑图像提取是相当的容易的,网上大多的资料都是比较扯淡的,其实就几行代码而已。

看下面代码之前,我们所要做的工作是通过mediaplayer已经获取到了音乐文件中的诸多信息:

MediaStore.Audio.Media.TITLE,// 标题

MediaStore.Audio.Media.DURATION,// 持续时间

MediaStore.Audio.Media.ARTIST,// 艺术家

MediaStore.Audio.Media._ID,// id

MediaStore.Audio.Media.DISPLAY_NAME,// 显示名称

MediaStore.Audio.Media.DATA,// 数据

MediaStore.Audio.Media.ALBUM_ID,// 专辑名称ID

MediaStore.Audio.Media.ALBUM,// 专辑

MediaStore.Audio.Media.SIZE }, null, null, MediaStore.Audio.Media.ARTIST);// 大小,

其中我们需要的是MediaStore.Audio.Media.ALBUM_ID(即一下代码中的int id)

private void getImage(int id)

{

int album_id = id;

String albumArt = getAlbumArt(album_id);

Bitmap bm = null;

if (albumArt == null)

{

mImageView.setBackgroundResource(R.drawable.noalbum);

}

else

{

bm = BitmapFactory.decodeFile(albumArt);

BitmapDrawable bmpDraw = new BitmapDrawable(bm);

((ImageView) mImageView).setImageDrawable(bmpDraw);

}

}

private String getAlbumArt(int album_id)

{

String mUriAlbums = "content://media/external/audio/albums";

String[] projection = new String[] { "album_art" };

Cursor cur = this.getContentResolver().query( Uri.parse(mUriAlbums + "/" + Integer.toString(album_id)), projection, null, null, null);

String album_art = null;

if (cur.getCount() > 0 && cur.getColumnCount() > 0)

{ cur.moveToNext();

album_art = cur.getString(0);

}

cur.close();

cur = null;

return album_art;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: