Android多媒体分析-通过MediaStore获取Audio信息

  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.                 //歌曲名  
  18.                 String title = cursor.getString(cursor  
  19.                         .getColumnIndex(MediaStore.Audio.Media.TITLE));  
  20.                   
  21.                 //歌手  
  22.                 String singer = cursor.getString(cursor  
  23.                         .getColumnIndex(MediaStore.Audio.Media.ARTIST));  
  24.                   
  25.                 //专辑  
  26.                 String album = cursor.getString(cursor  
  27.                         .getColumnIndex(MediaStore.Audio.Media.ALBUM));  
  28.                   
  29.                 //长度  
  30.                 long size = cursor.getLong(cursor  
  31.                         .getColumnIndex(MediaStore.Audio.Media.SIZE));  
  32.                   
  33.                 //时长  
  34.                 int duration = cursor.getInt(cursor  
  35.                         .getColumnIndex(MediaStore.Audio.Media.DURATION));  
  36.                   
  37.                 //路径  
  38.                 String url = cursor.getString(cursor  
  39.                         .getColumnIndex(MediaStore.Audio.Media.DATA));  
  40.                   
  41.                 //显示的文件名  
  42.                 String _display_name = cursor.getString(cursor  
  43.                         .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));  
  44.                   
  45.                 //类型  
  46.                 String mime_type = cursor.getString(cursor  
  47.                         .getColumnIndex(MediaStore.Audio.Media.MIME_TYPE));  
  48.                 music = new Music();  
  49.                 music.setAlbum(album);  
  50.                 music.setDuration(duration);  
  51.                 music.setSinger(singer);  
  52.                 music.setSize(size);  
  53.                 music.setTitle(title);  
  54.                 music.setUrl(url);  
  55.                 music.set_display_name(_display_name);  
  56.                 music.setMime_type(mime_type);  
  57.                 list.add(music);  
  58.             } while (cursor.moveToNext());  
  59.         }  
  60.         System.out.println(list.size());  
  61.     }  
  62.     class Music  
  63.     {  
  64.         private  String title;  
  65.         private  String singer;  
  66.         private  String album;  
  67.         private  long size;  
  68.         private  int duration;  
  69.         private  String url;  
  70.         private  String _display_name;  
  71.         private String mime_type;  
  72.           
  73.         public String get_display_name() {  
  74.             return _display_name;  
  75.         }  
  76.         public void set_display_name(String _display_name) {  
  77.             this._display_name = _display_name;  
  78.         }  
  79.         public String getMime_type() {  
  80.             return mime_type;  
  81.         }  
  82.         public void setMime_type(String mime_type) {  
  83.             this.mime_type = mime_type;  
  84.         }  
  85.         public String getTitle() {  
  86.             return title;  
  87.         }  
  88.         public void setTitle(String title) {  
  89.             this.title = title;  
  90.         }  
  91.         public String getSinger() {  
  92.             return singer;  
  93.         }  
  94.         public void setSinger(String singer) {  
  95.             this.singer = singer;  
  96.         }  
  97.         public String getAlbum() {  
  98.             return album;  
  99.         }  
  100.         public void setAlbum(String album) {  
  101.             this.album = album;  
  102.         }  
  103.         public long getSize() {  
  104.             return size;  
  105.         }  
  106.         public void setSize(long size) {  
  107.             this.size = size;  
  108.         }  
  109.         public int getDuration() {  
  110.             return duration;  
  111.         }  
  112.         public void setDuration(int duration) {  
  113.             this.duration = duration;  
  114.         }  
  115.         public String getUrl() {  
  116.             return url;  
  117.         }  
  118.         public void setUrl(String url) {  
  119.             this.url = url;  
  120.         }  
  121.         @Override  
  122.         public String toString() {  
  123.             return "Music [title=" + title + ", singer=" + singer + ", album="  
  124.                     + album + ", size=" + size + ", duration=" + duration  
  125.                     + ", url=" + url + ", _display_name=" + _display_name  
  126.                     + ", mime_type=" + mime_type + "]";  
  127.         }  
  128.           
  129.     }  

转载于:https://www.cnblogs.com/Free-Thinker/p/4584952.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么在anaconda上安装python_我是如何用Anaconda来管理Python的

Anaconda 是一个用于科学计算的 Python 发行版&#xff0c;支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。 Anaconda主要特点: 开源各个库之间的依赖性列出所需其他依赖包。多种开源库conda是包及其依赖项和环境的管理工具适用语言&#xff1a;P…

rdd分片 spark_Spark分区

一、分区的概念分区是RDD内部并行计算的一个计算单元&#xff0c;RDD的数据集在逻辑上被划分为多个分片&#xff0c;每一个分片称为分区&#xff0c;分区的格式决定了并行计算的粒度&#xff0c;而每个分区的数值计算都是在一个任务中进行的&#xff0c;因此任务的个数&#xf…

html5 防止脚本攻击,shell防ddos攻击脚本(二)

在上一篇shell防ddos攻击脚本(一)中,我给大家发了个脚本,那只是针对单机的,如果是在负载均衡下的话,很容易把自己的服务器ip给误封,所以这篇文章就给大家发个可以添加白名单的shell脚本.系统:centos 5.9 64位脚本内容:vi ip-dos-cc.sh#!/bin/bashnetstat -an| grep :80 |grep -…

python中配置opencv_在Windows中安装OpenCV-Python|四

目标 在本教程中&#xff0c;我们将学习在你的Windows系统中设置OpenCV-Python。 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7-64位计算机上进行了测试。屏幕截图展示的是VS2012。 从预编译的二进制文件安装OpenCV 下面的Python软件包将被下载并安装到…

uip UDPclient模式通信移植,当地port随机

现在移植UDPclient模式,测试广播地址. //udp_client.c /************************************************************************************************************** 文件名称: udp_client.c* 功能: uIP UDP客户端相关函数* 作者: cp1300139.com* 创建时间: 20…

react如何遍历并比较_[前端进阶] 这可能是最通俗易懂的React 渲染原理及性能优化...

如今的前端&#xff0c;框架横行&#xff0c;出去面试问到框架是常有的事。我比较常用React&#xff0c; 这里就写了一篇 React 基础原理的内容&#xff0c; 面试基本上也就问这些&#xff0c; 分享给大家。React 是什么React是一个专注于构建用户界面的 Javascript Library.一…

运用计算机计算包含排斥原理,离散数学包含及排斥原理.ppt

离散数学包含及排斥原理第三章 集合与关系 * 一、有限集的计数 一个集合若其组成集合的元素个数是有限的&#xff0c;则称作有限集。 设A1、A2为素个数分别记为|A1|&#xff0c;|A2| P96有限集记数有如下几个性质&#xff1a; a)|A1∪A2| ≤ |A1||A2| b)|A1∩A2| ≤min( |A1|,|…

基于git的工作流程

本文针对的是追求极致、快速的产品响应团队的。以下的观点和内容都是围绕这个主题&#xff0c;暂时不涉及个人学习和团队学习。 在说工作流程之间&#xff0c;想说一下我们平常工作中遇到的一些困惑或者说现象 在一个团队里&#xff0c;同时有好多事件要解决。有的是产品迭代&a…

c 自定义实现string类 clear_CC++语言15|类的继承和派生实现代码重用、扩充

在C中&#xff0c;继承是一个对象自动获取其父对象的所有属性和行为的过程。通过继承&#xff0c;您可以重用&#xff0c;扩展或修改在其他类中定义的属性和行为。通过继承&#xff0c;可以实现函数重写以及多态。在C中&#xff0c;继承另一个类的成员的类称为派生类&#xff0…

超几何分布_常见概率分布

离散分布退化分布 若r.v. 只取常数值c&#xff0c;即 ,这时分布函数为&#xff1a; 把这种分布称为退化分布或者单点分布。伯努利分布 在一次实验中&#xff0c;事件A出现的概率为 ,不出现的概率为 ,若用 记事件A出现的次数&#xff0c;则 仅取值0或1&#xff0c;相应的…

spring 4.0 JUnit简单的Dao,Service测试

1.AbstractTransactionalJUnit4SpringContextTests 和AbstractJUnit4SpringContextTests。我们在测试用例类要继承两种中的一个。 AbstractTransactionalJUnit4SpringContextTests提供了数据库自动回滚&#xff0c;也就是说测试前和测试后数据库是一样的 AbstractJUnit4SpringC…

云起智慧中心连接华为_【转发】华为智慧屏HiLink控制联动,操作指南来了!

本文转自华为智慧生活APP -> 智能 -> 酷玩页面华为智慧屏HiLink控制联动&#xff0c;操作指南来了&#xff01;一、基本控制通过华为智慧生活APP&#xff0c;您可以对已绑定华为账号的智慧屏进行基本控制&#xff0c;操作指南如下&#xff1a;① 在智慧屏上登录华为账号&…

中小学电教信息计算机管理员职责,中小学电教教师岗位职责

第1篇&#xff1a;电教教师岗位职责电教教师岗位目标责任书一、根据学校工作计划制定学校电教工作计划。二、根据学校需要&#xff0c;收集、编制电教教材和资料。三、管理好电教教室、器材和设施&#xff0c;严格执行器材的使用归还制度。四、电教器材使用设置合理&#xff0c…

python编程口诀_少儿Python编程中的算术与技巧

在儿童Python中&#xff0c;使用数值进行基本运算的情况很常见。加、减、乘、除都是内置的。加法和减法通过和-号执行。 在Python shell提示中可以输入基本的算术表达式&#xff0c;将它当作一个计算机来使用。像计算器一样&#xff0c;Python接受一组操作&#xff0c;当按下En…

struts学习

Structs2配置文件概述&#xff1a; <constant name"" value""></constant>详解&#xff1a;&#xff08;两个看不见的value都是设置true/false&#xff09; package的相关使用&#xff1a; &#xff08;name是包名。action相当于以前的servl…

里怎么做页眉页脚_这年头县城里在家做的电商利润怎么样

这年头县城里在家做的电商利润怎么样 mcfg6ek这年头县城里在家做的电商利润怎么样 通过上面的信息大家是否已经对多用户商城有什么优势有所了解了呢&#xff0c;如果还想了解更多多用户商城的信息&#xff0c;站进行查看咨询哦。店系统怎么进行推广。店系统的推广方式介绍我们都…

计算机如果算积分排名,超级电脑预测英超积分榜:蓝军守住第4 曼联无缘欧冠...

还有6天的时间&#xff0c;2019-20赛季的英超联赛就要重启了。虽然冠军的悬念已经不大&#xff0c;但欧冠席位以及降级名额仍有很大的变数&#xff0c;这让外界仍无比期待接下来的比赛。今日&#xff0c;超级计算机对剩余的比赛做了预测&#xff0c;并算出了最终的积分榜&#…

环形队列出队的元素怎么输出出来_队列:队列在线程池等有限资源池中的应用...

我们知道&#xff0c;CPU资源是有限的&#xff0c;任务的处理速度与线程个数并不是线性正相关的。相反&#xff0c;过多的线程反而会导致CPU频繁切换&#xff0c;处理性能下降。所以&#xff0c;线程池的大小一般都是综合考虑要处理任务的特点和硬件环境&#xff0c;来事先设置…

★★★常用的【兼容IE和火狐FF】等浏览器的js方法★★★★★★★★

这是一篇收集的文档&#xff0c;介绍了网页上常用的IE/火狐兼容性该页的做法&#xff0c;并给出了代码&#xff0c;相当实用了。为了方便大家阅读代码&#xff0c;以下以 IE 代替 Internet Explorer&#xff0c;以 MF/FF 代替 Mozzila Firefox 。 以下进入正题&#xff1a; 一、…

英语答题测试的软件叫什么,英语做题软件哪个好 有答案解析的英语做题软件分享...

对于一些即将参与重要英语考试的考生来说&#xff0c;每天刷题练习肯定是不可避免的事情&#xff0c;但如果你想要更高效的刷题&#xff0c;让自己的刷题时间更有价值&#xff0c;那就来看看推荐给你的这些英语做题软件。类型&#xff1a;学习 语言&#xff1a;简体中文星级&am…