1. public void getAlldata() {
  2. ContentResolver cr = getApplication().getContentResolver();
  3. if (cr == null) {
  4. return;
  5. }
  6. // 获取所有歌曲
  7. Cursor cursor = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
  8. null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
  9. if (null == cursor) {
  10. return;
  11. }
  12. Music music;
  13. List<Music> list = new ArrayList<MainActivity.Music>();
  14. if (cursor.moveToFirst()) {
  15. do {
  16. //歌曲名
  17. String title = cursor.getString(cursor
  18. .getColumnIndex(MediaStore.Audio.Media.TITLE));
  19. //歌手
  20. String singer = cursor.getString(cursor
  21. .getColumnIndex(MediaStore.Audio.Media.ARTIST));
  22. //专辑
  23. String album = cursor.getString(cursor
  24. .getColumnIndex(MediaStore.Audio.Media.ALBUM));
  25. //长度
  26. long size = cursor.getLong(cursor
  27. .getColumnIndex(MediaStore.Audio.Media.SIZE));
  28. //时长
  29. int duration = cursor.getInt(cursor
  30. .getColumnIndex(MediaStore.Audio.Media.DURATION));
  31. //路径
  32. String url = cursor.getString(cursor
  33. .getColumnIndex(MediaStore.Audio.Media.DATA));
  34. //显示的文件名
  35. String _display_name = cursor.getString(cursor
  36. .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
  37. //类型
  38. String mime_type = cursor.getString(cursor
  39. .getColumnIndex(MediaStore.Audio.Media.MIME_TYPE));
  40. music = new Music();
  41. music.setAlbum(album);
  42. music.setDuration(duration);
  43. music.setSinger(singer);
  44. music.setSize(size);
  45. music.setTitle(title);
  46. music.setUrl(url);
  47. music.set_display_name(_display_name);
  48. music.setMime_type(mime_type);
  49. list.add(music);
  50. } while (cursor.moveToNext());
  51. }
  52. System.out.println(list.size());
  53. }
  54. class Music
  55. {
  56. private  String title;
  57. private  String singer;
  58. private  String album;
  59. private  long size;
  60. private  int duration;
  61. private  String url;
  62. private  String _display_name;
  63. private String mime_type;
  64. public String get_display_name() {
  65. return _display_name;
  66. }
  67. public void set_display_name(String _display_name) {
  68. this._display_name = _display_name;
  69. }
  70. public String getMime_type() {
  71. return mime_type;
  72. }
  73. public void setMime_type(String mime_type) {
  74. this.mime_type = mime_type;
  75. }
  76. public String getTitle() {
  77. return title;
  78. }
  79. public void setTitle(String title) {
  80. this.title = title;
  81. }
  82. public String getSinger() {
  83. return singer;
  84. }
  85. public void setSinger(String singer) {
  86. this.singer = singer;
  87. }
  88. public String getAlbum() {
  89. return album;
  90. }
  91. public void setAlbum(String album) {
  92. this.album = album;
  93. }
  94. public long getSize() {
  95. return size;
  96. }
  97. public void setSize(long size) {
  98. this.size = size;
  99. }
  100. public int getDuration() {
  101. return duration;
  102. }
  103. public void setDuration(int duration) {
  104. this.duration = duration;
  105. }
  106. public String getUrl() {
  107. return url;
  108. }
  109. public void setUrl(String url) {
  110. this.url = url;
  111. }
  112. @Override
  113. public String toString() {
  114. return "Music [title=" + title + ", singer=" + singer + ", album="
  115. + album + ", size=" + size + ", duration=" + duration
  116. + ", url=" + url + ", _display_name=" + _display_name
  117. + ", mime_type=" + mime_type + "]";
  118. }
  119. }

http://blog.csdn.net/lzh7752/article/details/45131539

Android多媒体分析-通过MediaStore获取Audio信息的更多相关文章

  1. Android多媒体数据库之MediaStore研究

    应网友要求,今天给大家讲android的多媒体数据库.MediaStore这个类是android系统提供的一个多媒体数据库,android 中多媒体信息都可以从这里提取.这个MediaStore包括了 ...

  2. 通过GeoIP2分析访问者IP获取地理位置信息

    原文链接:http://blog.csdn.net/johnnycode/article/details/42028841 MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用 ...

  3. Android GPS应用:动态获取位置信息

    在上文中,介绍了GPS概念及Android开发GPS应用涉及到的常用类和方法.在本文中,开发一个小应用,实时获取定位信息,包括用户所在的纬度.经度.高度.方向.移动速度等.代码如下: Activity ...

  4. Android之使用MediaMetadataRetriever类获取媒体信息

    一.昨天.介绍了使用MediaMetadataRetriever类来获取视频第一帧:http://blog.csdn.net/u012561176/article/details/47858099,今 ...

  5. android使用百度地图SDK获取定位信息

    本文使用Android Studio开发. 获取定位信息相对简单.我们仅仅须要例如以下几步: 第一步,注冊百度账号,在百度地图开放平台新建应用.生成API_KEY.这些就不细说了,请前往这里:titl ...

  6. Android实现自动定位城市并获取天气信息

    定位实现代码: <span style="font-size:14px;">import java.io.IOException; import java.util.L ...

  7. Android之QQ授权登录获取用户信息

    有时候我们开发的app须要方便用户简单登录.能够让用户使用自己的qq.微信.微博登录到我们自己开发的app. 今天就在这里总结一下怎样在自己的app中集成QQ授权登录获取用户信息的功能. 首先我们打开 ...

  8. Java基础知识强化之网络编程笔记22:Android网络通信之 Android常用OAuth登录(获取个人信息)

    1. 获取百度个人信息(使用Gson解析): 2. 代码案例: (1)工程一览图,如下: (2)activity_main.xml: <LinearLayout xmlns:android=&q ...

  9. 【Android Developers Training】 39. 获取文件信息

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

随机推荐

  1. springMVC的两种下载方式

    1:通过httpServletResponse对象实现下载,觉得LOW的自行跳过 2:有人觉得既然使用的是MVC就要使用spring的方式

  2. [转载]【基础篇】不为人知的Maya移动坐标轴

    maya 设置轴向1.将整体模型方向调整到与世界坐标系一致.设置具体模型的轴朝向. 操作:选中模型,按住W键,鼠标左键,在弹出的菜单中选择Axis,比较常用的有Set To Ponit.Set To ...

  3. 课时9—popup

    内容比较多的时候可以全屏显示,用第一种实现方式,如图1 图1 内容较少的话可以使用第二种实现方式如图2:图2 具体的实现代码如下: .header,.footer,.wrap-page{ positi ...

  4. SPSS数据分析—单因素及多因素方差分析

    t检验可以解决单样本.两个样本时的均值比较问题,但是对于两个以上样本,就不能用t检验了,而要使用方差分析.t检验是借助t分布,方差分析是借助F分布,基于变异分解的思想进行. 在算法上,由于线性模型的引 ...

  5. 学习PYTHON之路, DAY 1 - PYTHON 基础 1

    一 PYTHON 安装 1. Python下载 (1) www.python.org官网 (2) 选择可执行文件( 64位3.5.2Windows x86-64 executable installe ...

  6. 1.JavaScript面试

    1.1. 简要描述 JavaScript 的数据类型?   参考答案:   JavaScript 的数据类型可以分为原始类型和对象类型. 原始类型包括 string.number 和 boolean  ...

  7. redis入门指南-安装redis

    纸上得来终觉浅 绝知此事要躬行 Redis官方不支持window.微软发布了可在redis的分支.不建议使用 但我确实用了. win7 redis2.8.4  php5.6  apache2.4 ht ...

  8. SSH框架构建微信公众帐号服务器小技巧

    SSH框架构建微信公众帐号服务器小技巧 熟悉struts2和servlet的同学应该清楚,struts2的方法多样性弥补了servlet单一的doGet 和doPost方法.如果自己的公众账号服务器是 ...

  9. android studio 开启genymotion 出现"failed to create framebuffer image"

    出现错误 Unable to start the virtul device To start virtual devices, make sure that your video card supp ...

  10. 个人开发者做一款Android App需要知道的事情

    个人开发者做一款Android App需要知道的事情 在大学时, 自己是学计算机专业的,而且还和老师一起做过一年半的项目. 有时候是不是有这样的想法,做一个自己的网站.但一直未付诸行动.2012年时, ...