关于音乐列表的读取,不同的音乐播放器都会有不同的方案,有的是有多重方案并用。例如说,全盘扫描音乐格式文件等。

首先我封装了一个Audio类来存储读取的音频信息:

public class MediaUtils {

public static final String[] AUDIO_KEYS = new String[]{

MediaStore.Audio.Media._ID,

MediaStore.Audio.Media.TITLE,

MediaStore.Audio.Media.TITLE_KEY,

MediaStore.Audio.Media.ARTIST,

MediaStore.Audio.Media.ARTIST_ID,

MediaStore.Audio.Media.ARTIST_KEY,

MediaStore.Audio.Media.COMPOSER,

MediaStore.Audio.Media.ALBUM,

MediaStore.Audio.Media.ALBUM_ID,

MediaStore.Audio.Media.ALBUM_KEY,

MediaStore.Audio.Media.DISPLAY_NAME,

MediaStore.Audio.Media.DURATION,

MediaStore.Audio.Media.SIZE,

MediaStore.Audio.Media.YEAR,

MediaStore.Audio.Media.TRACK,

MediaStore.Audio.Media.IS_RINGTONE,

MediaStore.Audio.Media.IS_PODCAST,

MediaStore.Audio.Media.IS_ALARM,

MediaStore.Audio.Media.IS_MUSIC,

MediaStore.Audio.Media.IS_NOTIFICATION,

MediaStore.Audio.Media.MIME_TYPE,

MediaStore.Audio.Media.DATA

};

public static List getAudioList(Context context) {

List audioList = new ArrayList();

ContentResolver resolver = context.getContentResolver();

Cursor cursor = resolver.query(

MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,

AUDIO_KEYS,

null,

null,

null);

for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {

Bundle bundle = new Bundle ();

for (int i = 0; i

final String key = AUDIO_KEYS[i];

final int columnIndex = cursor.getColumnIndex(key);

final int type = cursor.getType(columnIndex);

switch (type) {

case Cursor.FIELD_TYPE_BLOB:

break;

case Cursor.FIELD_TYPE_FLOAT:

float floatValue = cursor.getFloat(columnIndex);

bundle.putFloat(key, floatValue);

break;

case Cursor.FIELD_TYPE_INTEGER:

int intValue = cursor.getInt(columnIndex);

bundle.putInt(key, intValue);

break;

case Cursor.FIELD_TYPE_NULL:

break;

case Cursor.FIELD_TYPE_STRING:

String strValue = cursor.getString(columnIndex);

bundle.putString(key, strValue);

break;

java音乐播放器文库_android音乐播放器开发教程相关推荐

  1. java微信公众平台在线点歌,微信公众平台开发教程之在线音乐/在线点歌

    微信公众平台在年前开放了新的消息接口-音乐消息,这是广大微信公众平台开发者的福音. 根据这一功能,如果能做出在微信中点歌功能,那么我们以后就可以不用安装其他APP, 直接在微信里面关注一个账号,就可以 ...

  2. java mqc系统开源代码_android PDF阅读器(开源) 暴强哦

    [实例简介] 看这个下载分数就知道了 源代码我已经运行过,能用,且运行很好.) [实例截图] [核心代码] a2d1802f-1d67-4dd9-a2f5-8b9297dd4b79 └── pdfDr ...

  3. Android开发教程JAVA基础(汇总)

    Android游戏开发视频教程(汇总) Android开发教程JAVA基础之Java 概述 Android开发教程JAVA基础之标示符.关键字1 Android开发教程JAVA基础之标示符.关键字2 ...

  4. java电脑桌面网易云界面,Javafx音乐播放器

    Javafx音乐播放器 介绍 这是款由纯java语言开发的在线音乐播放器,当然也支持播放本地的音乐,在本地音乐模块主要采用目前java最主流的音频标记库Jaudiotagger,可解析MP3文件头信息 ...

  5. 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现

    1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...

  6. android学习笔记---43_音乐播放器,音频采集,音乐播放,使用SoundPool播放音效

    43_音乐播放器 ------------------------------------------ 1.注意在string.xml中不可以使用java的关键字,因为用关键字的话,会和java内部冲 ...

  7. 我的音乐(Musicoco)- 本地音乐播放器开发总结

    开源一个功能相对齐全的本地音乐播放器 简述 从五月末就开始利用空余时间开发这款 app ,不知不觉三个月过去了. App 名称:我的音乐,我给取了个别名:Musicoco. Android 手机本地音 ...

  8. 安卓实现音乐播放器(暂停,播放)

    |--效果图 |--依赖3个对象 MediaPlayer:实现音乐播放,暂停,缓冲.     SeekBar:滑动的进度条. java.util.Timer:定时器,时时更新进度条. |--main. ...

  9. Android 音乐播放器的开发教程(六)service的运用及音乐列表点击播放 ----- 小达

    service的运用及音乐列表点击播放 按照前几篇博客的步骤,应该能看到自己手机里的音乐列表了,但是现在还只能看,不能点,还需要再给ListView添加点击事件的监听,接着启动一个Service来播放 ...

最新文章

  1. 潜移默化学会WPF--线程巧用(一)
  2. 2020年人工神经网络第二次作业-参考答案第四题
  3. 如何判断ios设备中是否安装了某款应用
  4. SNMP学习笔记之SNMPv3的配置和认证以及TroubleShooting
  5. python带界面的计算器
  6. 【OpenCV学习】OpenMP并行化实例
  7. python 字符串比较忽略大小写的方法_python实现忽略大小写对字符串列表排序的方法...
  8. Opencv 图像入门一之基本操作
  9. 【Unity开源项目精选】Unity引擎源码的C#部分
  10. Spark 训练机器学习模型莫名报错(java.lang.stackoverflow)
  11. SqlServer中union 和 union all的区别
  12. c语言变量命名规则_数据的来龙去脉——常量与变量
  13. linux全局启动tomcat,linux下启动tomcat服务
  14. 转载:IEEE1588 ( PTP ) 协议简介
  15. golang: grpc: received message larger than max
  16. 第欧根尼:我崇尚简朴朴素克己的生活
  17. 从“扫月亮”到“扫福字”,扒一扒背后的支付宝AR框架体系
  18. 玩客云安装linux系统的好处,玩客云armbian安装aria2+ariaNG过程记录
  19. Windows起一个Docker镜像——起起起起起~不~来~
  20. win10系统使用蓝牙鼠标时自动断开连接?

热门文章

  1. python有强大吗_python有多强大
  2. python中文件读取不出来_Python文件读取
  3. springmvc常用5种注解_电线电缆工业中常用的5种线缆
  4. 无障碍开发(六)之ARIA在HTML中的使用规则
  5. datatables屏蔽警告弹窗
  6. 操作系统及编程语言历史以及shell命令
  7. TensorFlow学习入门
  8. 剑指offer(三):从尾到头打印链表
  9. P2647 最大收益
  10. iOS如何实现语音播报及后台播放