版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、我用电脑里的windows media player播放歌曲的时候旁边会显示一个音乐专辑的图片(当然很多是没有的,但是有一个默认的),如杲没有 windwos media player会提示粘贴一个上去,我试试,可以粘贴,粘完以后再播放就可以显示专辑图片了,那在android系统中,我在代码里该怎么样获得音乐文件里的专辑图片信息呢?#1 楼 得分:5 回复于:2010-07-08 15:50:44这个是mp3的id3的信息可以去找第三方包解析mp3 id信息的.当然也可以自己写 不是所有的mp3里面都包含有专辑图片信息jid31 ib-0.5.4 用过这个包.图片没试过 取其他的 歌词这些还是
2、很好用的.自己改过一些编码问题需要的话可以发个邮件对我有用0丢个板砖0引用举报管理top精华推荐:3g版iphone的八人未解z谜#2 楼 得分:10 回复于:2010-07-08 15:57:17id3信息在android opencore里是解析出来了的,由mediascanner写入了 media数据库,可以通过查询media bum信息|对我有用0丢个板砖0引用举报管理top精华推荐:里局域网内如何解决网上邻居的空问题#3 楼 得分:10 回复于:2010-07-08 15:59:14写成文件了。这是android music里的代码:/ get album art for speci
3、fied fileprivate static final string sexternalmediauri = mediastore.audio.media.external_content_url 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 illegal
4、argumentexception("must specify an album or a song id");try if (albumid < 0) uri uri = uri.parse("content:/media/external/audio/media/n + songid + "/albumart”); parcelfiledescriptor pfd = context.getcontentresolver().openfiledescriptor(uri, "r");if (pfd != null) file
5、descriptor 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.getfiledescrip
6、tor(); bm 二 bitmapfactory.decodefiledescriptor(fd); catch (filenotfoundexception ex) /)if (bm != null) mcachedbit = bm;return bm;对我有用|0丢个板砖0引用举报管理top精华推荐:(转)我给同事配的实用型的家庭多媒体影院系统-3.音响选择篇:#4 楼 得分:0 回复于:2010-07-08 16:32:26啊那就更方便了学习了对我有用0丢个板砖0引用举报管理top精华推荐:手机和手机不能不通过基站直接用gsm itfijl?#5 楼得分:10 回复于:2010-07-
7、08 16:54:10还有就是lz得注意解析的版本,id3v1还是id3v2 ,两种方式解析方法是基本不一样的。id3v1歌曲信息是保存在最后128个字节里面的,id3v2没具体解析过。”寸我有用0丢个板砖0引用举报管理top精华推荐:”超越时空的紫禁城“见证中国视觉计算和互联网历史#6 楼 得分:0 回复于:2010-07-08 21:24:10谢谢各位了,我试试看対我有用0 丢个板砖0 引用 举报管理top#7 楼 得分:0 回复于:2010-07-09 09:38:22引用2楼liujinrui的回复:id3信息在android opencore里是解析出来了的,由mediascanne
8、r写入了 media数据库,可以通过查询media bum信息兄台music代码哪里找的呢?能否发我给一个份邮箱是joe_zhpf 对我有用0丢个板砖0引用举报管理top#8 楼 得分:0 回复于:2010-07-10 03:02:10 引用3楼liujinrui的回复:写成文件了。这是android music里的代码:/ get album art for specified fileprivate static final string sexternalmediauri 二 mediastore.audio.media.external_content_uri.iprivate sta
9、tic bitma我用上述代码做了如下的列子,想显示一下专辑图片:java codepublic class test extends activity /* called when the activity is first created. */private listview list;private static final string sexternalmediauri = mediastore .audio. mediaextermal_ctringo ;private static final uri sartworkuri = uri. parse(content:/medi
10、a/external/audi(public void oncreate(bundle savedlnstancestate) super. oncrcatc (savcdlnstanccstatc);setcontentview(r. layout. main);bitmap bm 二 null;long songid = -1, albumid = -1;cursor cur = getcontentresolver(). query(mediastore. audio. media. external_conte ull, null, null);i f (cur. movetonext
11、 () songid 二 cur. getlong(o);albumid = cur.getlong(12);if (albumid < 0 && songid < 0) throw new t1legalargumentexcept!on(must specify an album or a son try if (albumid < 0) uri uri = uri. parse(z,content:/media/external/audio/media/" + songid );parcelfiledescriptor pfd 二 getcon
12、tentresolver (). openfiledescriptor if (pfd != null) filcdcscriptor fd 二 pfd. gctfiledcscriptor();bm 二 bitmapfactory. decodefiledescriptor(fd); else uri uri 二 contenturis. withappcndcdid(sartworkuri, albumidparcelfiledescriptor pfd 二 getcontentresolver (). openfiledescriptor if (pfd != null) filcdcs
13、criptor fd 二 pfd. gctfiledcscriptor();bm = bitmapfactory. decodefi1 edescriptor(fd);i catch (filenotfoundexception ex) /)bitmapdrawable bmpdraw 二 new bitmapdrawable(bm);imageview image = (imageview)findviewbyld(r. id. album);image. setlmagedrawable(bmpdraw);但是运行时却提示e/metadataretrieverclient( 34): fa
14、iled to extract an album arti/activitymanager( 66): displayed activity cn.liupeng/.test: 5218 ms (total 5218 ms)d/dalvikvm( 238): gc_explic1t freed 156 objects / 11288 bytes in 137msd/dalvikvm( 118): gc_explicit freed 631 objects / 35232 bytes in 170msd/dalvikvm( 248): gc_explicit freed 92 objects /
15、 4328 bytes in 117ms d/sntpclient( 66): request time failed: java>net>socketexception: address fami ly not supported by protocol这是怎么回事呢?在androidmanifest.xml中我也加入了如下声明:(由于不知道他们的具体含义,我照着源彳<uses-permission android:name=nandroid.permission.write_settingsh /><uses-permission android:name=n
16、android.permission.system_alert_windown /><uses-permission android:name=nandroid.permission.wake_lockn /><uses-permission android:name=handroid.permission.internetn /><uses-permission android:name=uandroid.permission.read_phone_stateh /><uses-permission android:name="and
17、roid.permission.write_external_storage" />对我冇用1 丢个板砖0 引用举报管理top#9楼得分:0 回复于:2010-07-12 00:46:19引用8楼pengpeng5047的回复:引用3楼liujinrui的回复:写成文件了。这是android music里的代码:/ get album art for specified fileprivate static final string sexternalmediauri 二 mediastore.audio.media.external_content_uri.tp你程序的主ac
18、tivity吗?如果是的话,那应该问题出在 没有先给mediaplayer设置 数据源吧.对我有用0 丢个板砖0 引用 举报 管理top#1()楼 得分:0 回复于:2010-07-12 01:18:58引用9楼joezhpf的回复:引用8楼pengpeng5047的回复:引用3楼liujinrui的回复:写成文件了。这是android music里的代码:/ get album art for specified fileprivate static final string sexternalmediauri = mediastore.audio.media.external_我感觉不用设
19、置数据源吧,因为我的数据是通过uri从数据库取出来的,跟mediaplayer没有关系我觉得是不是我虚拟sd卡里存放的音乐文件木身就不包含专辑图片信息呢?对我冇用0 丢个板砖0 引用举报管理top#11 楼得分:0 回复于:2010-07-12 10:34:17引用10楼pengpeng5047的回复:引用9楼joezhpf的回复: 引用8楼pengpeng5047的回复:引用3楼liujinrui的回复:/ get album art for specified fileprivate static final string sexternalmediauri = mediastore我理解
20、是把文件先给mediaplayer后它会调底层的库把mp3的id3信息解析出来,然后存入数扼 当然下一次播放的时候,可能就是直接去从数据库里面取了.对我冇用0 丢个板砖0 引用举报管理top#12 楼得分:0 回复于:2010-07-12 11:33:15学习了对我有用0 丢个板砖() 引用 举报 管理top#13 楼 得分:0 回复于:2010-07-12 14:50:46引用11楼joezhpf的回复:引用10楼pengpeng5047的回复:引用9楼joezhpf的回复:引用8楼pengpeng5047的回复:引用3楼liujinrui的回复:写成文件了。这是android music里
21、的代码:/ get album art for specified fileprivate static final string se好像不是这样,我感觉好像是当音乐被放到sd卡的时候就己经默认把id3的信息放到数据库里了,我不创建象,一样可以直接通过mediastore.audio.media.external_content_uri这个ur获取所有音乐的id3作 没有找到代表专辑图片信息的字段。这是我通过通过mediastore.audio.media.external_content_uri动 称:columo=_idcoluml=_datacolum2=_display_nameco
22、lum3=_sizecolum4=mime_typecolum5=date_addedcol um6=date_mod ifiedcolum7=titlecolum8=title_keycolum9=durationcolumlo=artist_idcoluml l=composercolum 12=album_idcoluml 3=trackcolum 14=yearcolum 15=is_ringtonecolum 16=is_musiccolum 17=is_alarmcoluml8=is notificationcolum 19=is_podcastcol um20 二 bookmar
23、k colum21 =artist_id: 1 colum22=artist_key colum23=artist colum24 二 album _id: 1 colum25=album_keycolum26=albumi对我有用1丢个板砖0引用举报管理top#14 楼得分:0 回复于:2010-07-12 16:17:11 引用13楼pengpeng5047的回复:引用11楼joezhpf的回复:引用10楼pengpeng5047的回复:引用9楼joezhpf的回复:引用8楼pengpeng5047的回复:引用3楼liujinrui的回复:写成文件了。这是android music里的代码
24、:/ get album art for specified fileprivate对我有用1 丢个板砖0 引用 举报 管理top#15 楼得分:5 回复于:2010-07-16 16:22:57正解是 我把8楼的复制粘贴了,直接就能用。谢谢各位。対我有用0 丢个板砖0 引用 举报管理top#16 楼 得分:0 回复于:2010-07-17 11:15:46引用15楼habzy的回复:正解是我把8楼的复制粘贴了,直接就能用。谢谢各位。是吗?能在界面上显示一张图片? 估计是我sd卡中的音乐本省就没有专辑图片对我有用|0 丢个板砖0 引用 举报管理top#17 楼得分:0 回复于:2010-07-
25、21 16:06:41下面的方法可以获得咅乐文件中的专辑图片,前提是咅乐文件中首先要有专辑图片:java codeprivate string getalbumart (int trackld) /trackld 是音乐的 idstring muritrack 二 content:/media/external/audio/media/#"string projection = new string /,album_id/;string selection 二 id 二?;string selectionargs = new string integer.tostring(trackld);cursor cur = cont
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理人员全能职业防护
- 2026 年夏季护理实习生入科教育与临床带教宣讲
- 2026 年妊娠期高血压疾病孕期监护护理方案
- 领导科学竞赛试题及答案
- 团体标准《地理标志农产品上思香糯种植技术规程》(征求意见稿) 编制说明
- 2026年《花卉学》期末考试模拟题及答案详解(基础+提升)
- 2026年残疾人事业发展计划方案
- 2026年高考湖南卷地理高考真题(参考版)
- 2026年国际贸易政策分析及应对
- 2026年旅游企业市场营销策略
- 2026年浙江省金华市辅警人员招聘考试试题及答案
- 煤矿机械液压系统故障分析及维护技术
- 2025年钢筋工(高级)实操试题(附答案)
- 2025年四川省遂宁市检察官、法官入员额考试真题(附答案)
- 高考历史世界近代史小论文必背范文梳理
- 江苏省2026年中职职教高考文化统考语文试卷答案
- 脑梗死护理查房课件
- Unit8Lesson8ReadingPlus课件人教版英语八年级下册
- 招牌组织施工方案(3篇)
- 特种设备质量安全风险日管控、周排查、月调度检查表
- QB/T 5998-2024 宠物尿垫(裤)(正式版)
评论
0/150
提交评论