Android下取得mp3里的曲名、艺术家和专辑图像信息

李狗蛋52635 2012-03-27 03:19:52
各位好
小弟在做一个mp3播放的小例子,其中要对当前显示的mp3的曲名、艺术家和专辑图像进行显示。
1. 这些内容要怎么取出来呢?
2. 我在网上查了一下,有说用到MediaStore的,能不能不通过MediaStore直接取出来呢?
3. MediaStore是什么呢,我在本地res/raw/的音乐,是被直接放入了MediaStore吗?

求解答,先谢了。
...全文
542 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
李狗蛋52635 2012-03-27
  • 打赏
  • 举报
回复
感谢9楼和10楼的朋友
:-)
深耕安卓 2012-03-27
  • 打赏
  • 举报
回复
一段简化的code, 可以参考一下:
final String[] ccols = new String[] { MediaStore.Audio.Media._ID };
String where = MediaStore.Audio.Media.ARTIST_ID + "=" + id + " AND " +
MediaStore.Audio.Media.IS_MUSIC + "=1";
ContentResolver resolver = context.getContentResolver();
resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, ccols, where, null, null);
念茜 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dxjwolf 的回复:]

res/raw的资源是被编译到apk中的
这个资源是属于被剪裁过的应用使用的资源 不一定有你要的信息
你的mp3播放需要从sd载入文件 mediastore是用来保存文件的信息
如果不用mediastore 你需要自己去解析mp3文件的头 按照字节去对mp3文件的格式规范
而且里面还不一定有你要的专辑图像信息
[/Quote]

补充一下:
mp3的曲名、艺术家和专辑图像这些信息是写在mp3文件中的,即mp3 的tag信息。
根据不同的ID3标准,这些信息不定写在mp3头,或者尾部。 但是如果mp3的tag信息本身包含图像信息,就一定会解析的到的,无论是自己解析,还是利用其他工具。除非mp3里本身不包含。
因为我们不能保证用户所下载的MP3都是正版mp3(即全部tag信息都是全的),所以解析不到图像也不要排除该mp3本身就不包含图像信息

一般解析操作都是在扫描sd卡时执行完毕,LZ可以参考4L提供的线索。
补充完毕。
李狗蛋52635 2012-03-27
  • 打赏
  • 举报
回复
我是菜鸟一枚,在CSDN时间不久,希望大家多多帮忙。
himi_ 2012-03-27
  • 打赏
  • 举报
回复
楼主真慷慨
李狗蛋52635 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dxjwolf 的回复:]

用mediaplayer
或者自己用扫描sd卡的mp3后缀的文件
传sd卡目录 然后cursor记录位置 scan mp3文件
具体逻辑可以自己研究一下 可参考MediaScannerReceiver 和 MediaScan里面的扫描逻辑
[/Quote]

听您这么一说,比较明朗了,可以结贴了。
非常感谢ls两位。
李狗蛋52635 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 himi_ 的回复:]

读取存在sd卡中的文件的绝对路径,保存为字符串,
MediaPlayer就可以使用了。
[/Quote]

这样一说的确有些思路了呢。
请问一下:在APIdemo里有相关MediaStore的例子吗?
妖怪 2012-03-27
  • 打赏
  • 举报
回复
用mediaplayer
或者自己用扫描sd卡的mp3后缀的文件
传sd卡目录 然后cursor记录位置 scan mp3文件
具体逻辑可以自己研究一下 可参考MediaScannerReceiver 和 MediaScan里面的扫描逻辑
himi_ 2012-03-27
  • 打赏
  • 举报
回复
读取存在sd卡中的文件的绝对路径,保存为字符串,
MediaPlayer就可以使用了。
李狗蛋52635 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dxjwolf 的回复:]

res/raw的资源是被编译到apk中的
这个资源是属于被剪裁过的应用使用的资源 不一定有你要的信息
你的mp3播放需要从sd载入文件 mediastore是用来保存文件的信息
如果不用mediastore 你需要自己去解析mp3文件的头 按照字节去对mp3文件的格式规范
而且里面还不一定有你要的专辑图像信息
[/Quote]

谢谢
看来我必须使用MediaStore了呢。
再问下哦,我的mp3播放器要怎么从sd载入文件呢?
妖怪 2012-03-27
  • 打赏
  • 举报
回复
res/raw的资源是被编译到apk中的
这个资源是属于被剪裁过的应用使用的资源 不一定有你要的信息
你的mp3播放需要从sd载入文件 mediastore是用来保存文件的信息
如果不用mediastore 你需要自己去解析mp3文件的头 按照字节去对mp3文件的格式规范
而且里面还不一定有你要的专辑图像信息
是一款具有众多功能和精美设计的 Android 最佳音乐播放器。这款内置顶级质量均衡器的 mp3 播放器将您的音乐聆听体验提升到一个新的水平。这款带eq和高音量应用程序的 mp3 播放器可让您以最佳的声音和最小的使用量播放音乐,而无需消耗电池。是 Android 系统默认音乐播放器的完美替代品。 是离线本地 mp3 播放器应用程序。它不支持在线音乐下载或音乐流。但它可让您在一个地方轻松管理所有离线音乐,浏览快速搜索并支持以所有音乐格式播放。其时尚,强大和快速的音乐播放器,占用的内存少,并提供完美的音乐体验。它是Android上最有用的eq音乐播放器。 精彩功能: 时装设计,30多个最佳音乐主题可替换的背景图片。从图库中选择您自己的图片。华丽的免费背景皮肤。自定义大量的颜色。 强大的节拍均衡器,通过10个惊人的预设,5个频段,低音增强器,音乐虚拟器和3D混响效果调整等来增强您的音乐体验。 内置Mp3剪切器,铃声制作器轻松剪切音频歌曲的最佳部分并将其另存为铃声/警报/通知/音乐文件等。 支持所有音乐文件格式-MP3,MP4,WAV,M4A,FLAC ,3GP,OGC等。 按专辑艺术家,播放列表,流派,文件夹等浏览和播放音乐。 播放列表自动/手动备份-切勿松动您的播放列表。 支持歌词的音乐播放器(嵌入歌词)。 耳机/蓝牙支持。 音乐持续时间过滤器。 智能睡眠定时器。 智能摇来更改歌曲。 同时支持纵向/横向模式。 背景图片-选择您自己的图片。 内置免费的JAudio Tag编辑器支持。 窗口小部件支持(4×4,4×2,4×1,4×1) 播放带有重新排序的队列-轻松添加曲目并向上/向下拖动以进行排序。 借助“建议的仪表板”,您可以在一处智能地跟踪所有听力。 智能自动播放列表-最近播放/播放次数最多/历史记录完全支持播放列表并随时随地构建自己的播放列表。 标记“收藏歌曲”选项。 从多个播放器设计中选择。 强大的搜索功能-可以快速搜索歌曲,艺术家专辑等。 漂亮的锁屏控件具有全屏专辑封面支持(启用/禁用)。 Last.fm集成自动获取艺术家信息,例如艺术家作品或传记。 Last.fm Scrobber支持。 强大的Mp3切割器和铃声切割器。 文件夹支持-按文件夹播放歌曲。 派对随机播放音乐-随机播放所有曲目。 天才拖动以对播放列表和播放队列进行排序。 立即播放屏幕滑动以更改歌曲 轻松自定义最佳主题-浅色/深色/黑色/彩色/图片主题。 下载丢失的专辑封面和艺术家图像。 可穿戴的支持。 完美的健身音乐应用程序。 以随机播放,重复播放,循环播放和顺序播放歌曲。 易于导航和简约设计。 节拍指南找到您所有的歌曲和音乐。 最好的免费音乐离线应用和媒体播放器。 轻松分享歌曲。 通知控制-从通知控制跟踪。 超过35种语言支持。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧