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

这篇博客介绍了如何简单地从音乐文件中提取专辑图像。通过Android的MediaStore,我们可以获取到专辑ID,然后利用ContentResolver查询专辑艺术图片的路径。如果未找到专辑艺术,将设置默认图像。关键代码包括查询专辑ID、获取专辑艺术和设置ImageView的图像。
摘要由CSDN通过智能技术生成

其实实现音乐中的专辑图像提取是相当的容易的,网上大多的资料都是比较扯淡的,其实就几行代码而已。

看下面代码之前,我们所要做的工作是通过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;

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值