乐如网功夫战警(乐如网)-环球热文
2023-06-27 06:52:09
来源:
互联网
1、该图片为使用如下代码解析得到:参考源码中,音乐目录:packages/ap
(资料图片仅供参考)
1、该图片为使用如下代码解析得到: 参考源码中,音乐目录:packages/apps/Music/src/com/android/music/MusicUtils.java中函数:getArtwork(context, song_id, album_id, true)public static Bitmap getArtwork(Context context, long song_id, long album_id, boolean allowdefault) { if (album_id < 0) { // This is something that is not in the database, so get the album art directly // from the file. if (song_id >= 0) { Bitmap bm = getArtworkFromFile(context, song_id, -1); if (bm != null) { return bm; } } if (allowdefault) { return getDefaultArtwork(context); } return null; } ContentResolver res = context.getContentResolver(); Uri uri = ContentUris.withAppendedId(sArtworkUri, album_id); if (uri != null) { InputStream in = null; try { in = res.openInputStream(uri); return BitmapFactory.decodeStream(in, null, sBitmapOptions); } catch (FileNotFoundException ex) { // The album art thumbnail does not actually exist. Maybe the user deleted it, or // maybe it never existed to begin with. Bitmap bm = getArtworkFromFile(context, song_id, album_id); if (bm != null) { if (bm.getConfig() == null) { bm = bm.copy(Bitmap.Config.RGB_565, false); if (bm == null && allowdefault) { return getDefaultArtwork(context); } } } else if (allowdefault) { bm = getDefaultArtwork(context); } return bm; } finally { try { if (in != null) { in.close(); } } catch (IOException ex) { } } } return null; } private static Bitmap getArtworkFromFile(Context context, long songid, long albumid) { Bitmap bm = null; byte [] art = null; String path = null; 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"); ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(uri, "r"); if (pfd != null) { FileDescriptor fd = pfd.getFileDescriptor(); bm = BitmapFactory.decodeFileDescriptor(fd); } } else { Uri uri = ContentUris.withAppendedId(sArtworkUri, albumid); ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(uri, "r"); if (pfd != null) { FileDescriptor fd = pfd.getFileDescriptor(); bm = BitmapFactory.decodeFileDescriptor(fd); } } } catch (FileNotFoundException ex) { } if (bm != null) { mCachedBit = bm; } return bm; } private static Bitmap getDefaultArtwork(Context context) { BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inPreferredConfig = Bitmap.Config.RGB_565; return BitmapFactory.decodeStream( context.getResources().openRawResource(R.drawable.play_img_default), null, opts); }private static final Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart"); private static final BitmapFactory.Options sBitmapOptions = new BitmapFactory.Options(); private static Bitmap mCachedBit = null;获取cursor:myCur = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,new String[] { MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.DURATION,MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media._ID,MediaStore.Audio.Media.ALBUM,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.ALBUM_ID}, null,null, null);myCur.moveToPosition(position);设置专辑封面图片:long songid = myCur.getLong(3);long albumid = myCur.getLong(7);Bitmap bm = MusicUtils.getArtwork(this, songid, albumid,true);if(bm != null){Log.d(TAG,"bm is not null==========================");playImg.setImageBitmap(bm);}else{Log.d(TAG,"bm is null============================");}这是抽取专辑图片的方法,扫描歌曲的时候自己把歌曲的id和专辑的id传进去就能获取private static final Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");/*** 将MP3里图片读取出来* * @param context* @param songid* @param albumid* @return*/public static Bitmap getMusicBitemp(Context context, long songid,long albumid) {Bitmap bm = null;// 专辑id和歌曲id小于0说明没有专辑、歌曲。
2、并抛出异常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");ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(uri, "r");if (pfd != null) {FileDescriptor fd = pfd.getFileDescriptor();bm = BitmapFactory.decodeFileDescriptor(fd);}} else {Uri uri = ContentUris.withAppendedId(sArtworkUri, albumid);ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(uri, "r");if (pfd != null) {FileDescriptor fd = pfd.getFileDescriptor();bm = BitmapFactory.decodeFileDescriptor(fd);} else {return null;}}} catch (FileNotFoundException ex) {}return bm;}。
本文到此分享完毕,希望对大家有所帮助。
[责任编辑:]
网罗天下
-
乐如网功夫战警(乐如网)-环球热文
-
俄国防部:俄战机在黑海上空对英国军机实施伴飞 天天速讯
-
天天要闻:「昨日战报」山西清徐学栋首战告捷!16强,我来了!
-
精彩看点:中国人事考试网(中国vedio free)
-
Aegisub 特效字幕 \t的正确姿势 信号灯特效-重点聚焦
-
中华传奇小说(华夏传奇 天字号创作的网络小说) 观察
-
乐如网功夫战警(乐如网)-环球热文
-
俄国防部:俄战机在黑海上空对英国军机实施伴飞 天天速讯
-
天天要闻:「昨日战报」山西清徐学栋首战告捷!16强,我来了!
-
精彩看点:中国人事考试网(中国vedio free)
-
Aegisub 特效字幕 \t的正确姿势 信号灯特效-重点聚焦
-
中华传奇小说(华夏传奇 天字号创作的网络小说) 观察
-
当前关注:上亿战力超变态仙侠手游推荐 有神器神宠
-
每日快播:“杭州西湖日” 市民游客共享精彩
-
每日速讯:北京大西洋新城社区第八届龙舟赛举行
-
小红书十年,“好用”社区如何带来商业化“收成” 每日速看
-
九宫格创始人简历(九宫格创始人) 世界视讯
-
环球资讯:大悦城为沈阳和诚6.6亿元债务提供连带责任保证担保
-
2023-06-26 17:46四川高速公路最新路况实时播报
-
焦点消息!那些车次是复兴号 哪些车次是复兴号
-
天天热点评!宽基指数基金是什么?值得买吗?
-
践行初心使命 助力乡村振兴——黔南州法院系统驻村干警群像
-
全球速递!王者荣耀妲己秒人怎么出装-妲己秒人出装推荐
-
必备氛围单品!荣耀90系列让你好看一整个夏天 今热点
-
太平洋给予国光股份买入评级 成本端迎来拐点 植物生长调节剂龙头盈利能力回归本真 天天热议
-
收盘:三大指数均跌超1% 电力板块掀涨停潮
-
上海土地综合整治9年新增耕地超6万亩 速讯
-
【全球时快讯】创造历史!20岁中国姑娘夺高尔夫大满贯冠军,奖金进账150万美元
-
京津冀40℃高温明起再上线,局地气温或破极值! 世界最资讯
-
每日观察!wegame安装这么慢_wegame安装进程异常结束
-
引进项目200多个 60多个项目投运 落地产品1000余种 新区全力打造千亿级绿色化工园区
-
天天热点评!野生大熊猫交配被全网围观:公熊猫很卖力,比圈养大熊猫强多了!
-
扬州金泉: 公司主要生产销售帐篷、睡袋、服装和背包等户外用品,部分产品具备户外用防晒的功能|环球关注
-
快资讯丨卖楼抵债!克莉丝汀出售上海两处物业
-
焦点播报:理光r8样片(理光r8)
-
doctors韩剧全集哪里播放_doctors韩剧电视剧哪里可以看
频道推荐
智能推荐
图片新闻
最近更新
-
乐如网功夫战警(乐如网)-环球热文
-
俄国防部:俄战机在黑海上空对英国军机.
-
天天要闻:「昨日战报」山西清徐学栋首.
-
精彩看点:中国人事考试网(中国vedio.
-
Aegisub 特效字幕 \t的正确姿势 信.
-
中华传奇小说(华夏传奇 天字号创作的.
-
当前关注:上亿战力超变态仙侠手游推荐.
-
每日快播:“杭州西湖日” 市民游客共.
-
每日速讯:北京大西洋新城社区第八届龙.
-
小红书十年,“好用”社区如何带来商业.
-
九宫格创始人简历(九宫格创始人) 世.
-
环球资讯:大悦城为沈阳和诚6.6亿元债.
-
2023-06-26 17:46四川高速公路最新路.
-
焦点消息!那些车次是复兴号 哪些车次.
-
天天热点评!宽基指数基金是什么?值得.
-
践行初心使命 助力乡村振兴——黔南州.
-
全球速递!王者荣耀妲己秒人怎么出装-.
-
必备氛围单品!荣耀90系列让你好看一整.
-
太平洋给予国光股份买入评级 成本端迎.
-
收盘:三大指数均跌超1% 电力板块掀涨停潮
-
上海土地综合整治9年新增耕地超6万亩 .
-
【全球时快讯】创造历史!20岁中国姑娘.
-
京津冀40℃高温明起再上线,局地气温或.
-
每日观察!wegame安装这么慢_wegame安装.
-
引进项目200多个 60多个项目投运 落.
-
天天热点评!野生大熊猫交配被全网围观.
-
扬州金泉: 公司主要生产销售帐篷、睡.
-
快资讯丨卖楼抵债!克莉丝汀出售上海两.
-
焦点播报:理光r8样片(理光r8)
-
doctors韩剧全集哪里播放_doctors韩剧.