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. __VA_ARGS__可变参数宏

    #define qWiFiDebug(format, ...) qDebug("[WiFi] "format" File:%s, Line:%d, Function:%s ...

  2. Security » Authorization » 要求处理器中的依赖注入

    Dependency Injection in requirement handlers¶ 30 of 32 people found this helpful Authorization handl ...

  3. Nosql modifing...

    关键字补充(不晓得的自己去Google): 负载均衡  \文件上传到服务器\建表建动态列簇\数据仓库的应用\事务的提交和回滚\SQL执行计划\联机事务处理\联机分析处理\多表关联查询\数据存储引擎 N ...

  4. SPSS数据分析——t检验

    SPSS中t检验全都集中在分析—比较均值菜单中.关于t检验再简单说一下,我们知道一个统计结果需要表达三部分内容,即集中性.变异性.显著性. 集中性的表现指标是均值变异的的表现指标是方差.标准差或标准误 ...

  5. DeviceIoControl

    DeviceIoControl是kernel32中的函数,包含的头文件为winbase.h. BOOL DeviceIoControl( HANDLE hDevice,                 ...

  6. Eclipse中@author的修改

    什么东西都可能会被忘掉,我这种记性不好的就更容易忘了.换了电脑后eclipse中的@author变了,于是找了下修改@author的方法:1. 在eclipse.ini中添加-vmargs-Duser ...

  7. javascript内置属性——arguments

    arguments是javascript中的内置属性,可以直接调用函数的参数,作用类似Array,但本身并不是数组.这次发现它是为了实现封装函数,将不确定数量的数字乘积.比如function mult ...

  8. erlang中的lists:foldl()的用法,格式转换实例应用

    lists:foldl(fun(),参数1,参数2):这个函数就是先把参数1传给fun()处理,然后将参数2(列表)中每一个元素,依次传给fun()函数进行处理. lists:foldl(fun(El ...

  9. Jenkins+Jmeter+Ant 接口持续集成(转)

    来源:https://testerhome.com/topics/5186 为什么要用Jmeter做接口测试 当选择这套方案的时候,很多人会问,为什么选择Jmeter做Case管理?为什么不自己写框架 ...

  10. SPOJ GSS1 静态区间求解最大子段和

    题目大意: 给定n个数,再给q个区间询问,希望在区间s,t中找到一段连续的子序列使其和最大 因为询问上万,节点数50000,明显是用线段树去做,这里很明显的区间更新,唯一写起来有点恶心的是询问 每一个 ...