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;
}
看下面代码之前,我们所要做的工作是通过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;
}
相关文章推荐
- android 获取音乐文件的内置专辑图片
- android 获取音乐文件的内置专辑图片
- android获取音乐文件的内置专辑图片实现思路及代码
- android获取本地音乐的专辑图片
- 获取本地音乐文件的专辑,图片,音乐信息
- Android获取的MP3音乐的专辑封面图片
- Android 4.4 前后版本读取图库图片和拍照完美解决方案-获取文件路径
- Android获取SD卡上所有图片、视频缩略图和音乐专辑封面
- 获取MP3和M4A音乐文件的歌曲信息以及专辑图片
- 【ASP.NET 进阶】获取MP3文件信息并显示专辑图片
- Android获取SD卡上所有图片、视频缩略图和音乐专辑封面
- Android获取SD卡上所有图片、视频缩略图和音乐专辑封面
- 获取MP3和M4A音乐文件的歌曲信息以及专辑图片--备用
- android获取本地音乐的专辑的图片
- Android-从音频文件中获取专辑图片
- Android获取本机各种类型文件列表(音乐、视频、图片、文档等)
- 获取MP3和M4A音乐文件的歌曲信息以及专辑图片
- [Android实例] Android ListView从网络获取图片及文字显示 + 自己搭建的服务器的xml文件
- android获取本地音乐的专辑的图片
- android屏幕单位----真机与模拟器获取同一图片显示大小不一样