大概做了一周左右,一个简易版本的音乐播放器。主要有三个界面,先上图:
一个主界面:主要负责1加载外部存储的音乐文件信息到应用内置数据库中2转到音乐文件列表界面

一个音乐文件列表界面:主要1负责展示音乐文件列表2转到歌词界面中3控制音乐播放,如上一首、下一首、暂停、播放模式、进度控制等

一个歌词展示界面:主要负责1展示歌词2控制音乐播放

类层次结构:

主要是3个Activity、1个适配器类、1个SQLite数据库帮助类、1个内容提供者、1个Service、其他一些帮助类等

界面部分主要是反编译一款音乐播放器:

http://as.baidu.com/a/item?docid=6398749&pre=web_am_se&f=web_alad_5@next  --EQ音乐播放器

选择反编译这款,是因为它的安装文件比较小(相应的资源文件会比较少吧,我猜,当时下了几款反编译出来,如大名鼎鼎的千千静听、虾米、天天动听还有乐视 等),其他几款反编后资源文件太多,没时间整理。当然,反编得到的布局文件还是得自己修改一下的,毕竟布局中的一些组件是APP内定义的,不是 Android内置的。

代码部分主要看了两个其他音乐播放器的实现代码
http://blog.csdn.net/wwj_748/article/category/1414168 --简、美音乐播放器,不过代码部分感觉有些繁杂,有些是没用的代码
http://pan.baidu.com/s/16aaV8  --《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》这本书的第17章,看这本书的代码纯属偶然,只是在书架随意浏览一下看到刚好有做音乐播放器的,然后回来后直接到网上下载书籍附带源码来看

这个播放器还有很多不足
1:中文乱码
2:不少Bug,如跳转页面,暂停图标和播放图标不对应(最近一次装到其他模拟器中测试,发现第一次点击音乐列表中的文件时会抛异常,现在暂时没时间看了)
3:展示列表listview的优化问题,在网上稍微浏览了一下如何优化,但没去实践
4:service和activity都在同一个线程中,反应有点慢(较严重的问题,虽然一些耗时的操作,比如和数据库相关的部分,我放到了另外一个线程中,但还是不足,还有很大一部分可以移出主线程)
5:代码写得不好。有不少代码重复了,比如展示歌词的界面中控制音乐播放的部分,就直接拷贝音乐文件展示界面的。尽管看过一些设计模式的书,但这个应用中 没用上(不过,期间也算重构了两次吧,为了把逻辑理得更清晰,第二次重构中决定操作界面按钮只向后台service发送广播,而界面组件的变化全部由后台 发出广播启动,这样一个service即可控制多个activity的变化)
因为时间关系,上面这些不足目前就先不解决了。等以后有时间有精力了再来完善。像《黑客与画家》这本书中写的,快速出原型,不要管bug

其他:
github上面有个开源的音乐播放器(jamendo),有时间有精力的话,可以了解一下,网址是:
https://github.com/telecapoland/jamendo-android
另外还有个基于JAVA的跨平台播放器:YOYOPlayer

http://code.google.com/p/yoyoplayer/

另外还有SimpleMusicPlayer的源码和签名了的APK:

http://files.cnblogs.com/creasylai19/SimpleMusicPlayer.zip  这个是源码资源

http://files.cnblogs.com/creasylai19/SimpleMusicPlayer.apk 这个是签名了的APK

后续等有时间了再来讲一下思路和完善这个播放器

转载于:https://www.cnblogs.com/creasylai19/p/3771565.html

基于Android系统开发的简易音乐播放器相关推荐

  1. 基于Arduino Uno开发板制作音乐播放器

    基于Arduino Uno开发板制作音乐播放器 本文将基于Arduino开发板实现一个音乐播放器. 利用Arduino Uno读取sd卡模块中内存卡的音乐,传输信号到扬声器进行播放. 一.项目软硬件简 ...

  2. 基于MSP430G2553官方开发板的音乐播放器

    基于MSP430G2553官方开发板的音乐播放器 实现目标 硬件资源 芯片资源使用情况 外接硬件 程序实现 开发环境配置 各部分硬件驱动 主循环功能实现 实现目标 实现以蜂鸣器为播放设备,能够对简谱乐 ...

  3. Android开发之简易音乐播放器(一)

    这里介绍一个简易的音乐播放器, 效果图如下: 但是,由于这是一个简易版的音乐播放器,所播放的音乐只有一首,且被写死, 但,操作却十分简单,方便理解! 这是代码的主要设计: 音乐主要存放在这一个文件中: ...

  4. 使用android studio时酷狗音乐,17 Android Studio开发实战:音乐播放器——浪花音乐...

    手机上的多媒体内容讲究声情并茂.悦目且悦耳,这样才能让用户的感官得到最大享受.影视播放器由于存在视频自身的画面,反而限制了开发者的施展空间:而音乐播放器允许定制播放画面,开发者有足够空间施展拳脚.本节 ...

  5. Android课设:简易音乐播放器

    实验主题 本次课程设计计划实现一个低配版的仿网易云音乐的音乐播放器,主要实现功能如下: 打开APP需先进行注册 已有账号可进行登录 登录后跳转至音乐界面,本地歌曲列表读取本地音乐文件并显示 点击本地音 ...

  6. 基于H5+js开发一款音乐播放器

    前言:当下音乐播放器不胜其数,为了更好的掌握一些东西,我们来自己制作一个音乐播放器. 文章目录: 一.开发环境: 二.页面视图: 1.主文件入口(首页): 2.音乐播放界面: 三.功能实现 (1).i ...

  7. android系统导入u盘音乐播放器,手机歌曲怎么导入U盘?

    把手机上的歌放在u盘里方法 一.将手机用数据线连接到电脑上,然后先从手机拷贝到电脑,然后再插入u盘,从电脑拷贝到u盘即可 二.如果两用u盘是指支持OTG功能的u盘,而手机又支持OTG功能,那么可以直接 ...

  8. 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  9. java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 本源码技 ...

最新文章

  1. 服务器不能显示皮肤,服务器控件gridview扩展,为什么不能应用皮肤?
  2. php中的mysql模块
  3. 全国计算机二级考试c语言指针,全国计算机二级考试C语言 指针精讲课件.ppt
  4. oracle 参照完整性,Oracle中用表外键来保证系统参照完整性
  5. aqs java 简书,Java AQS源码解读
  6. Grunt上手指南(转)
  7. 基于苹果自研芯片的 Mac 电脑对安全意味着什么?
  8. c语言程序设计教程课后选择题答案,C语言程序设计教程课后习题包括答案.docx...
  9. pythoncad_pythonCAD
  10. PDF文档页面如何重新排版?
  11. 最专业逻辑图和最专业项目文档制作实战讲解
  12. 【干货】数据结构与算法该如何正确学习?(书籍\视频\网站都推荐了)
  13. 为什么要用 Tair 来服务低延时场景 - 从购物车升级说起
  14. bfs之走地图(迷宫)
  15. IIS协议和UDA1341TS音频编解码芯片简述
  16. H5常见问题 微信踩过得坑
  17. Jzoj4745 看电影
  18. java 入参校验_java开发参入参数校验
  19. 微信进化史(未完待续)
  20. 2022年全球市场汽车倒车雷达总体规模、主要生产商、主要地区、产品和应用细分研究报告

热门文章

  1. JavaScript 原型链学习(二)原型的动态性
  2. Kafka学习之路 (三)Kafka的高可用
  3. Delegate(QLabel和QComboBox)
  4. 如何在博客园的博客中添加可运行的JS(转载)
  5. 101个MySQL的调节和优化的Tips
  6. word保存时标题变成黑框(mac版本)
  7. mysql---表所在数据库
  8. 创建到另一个工作簿中已定义名称的外部引用的帮助(Excel)
  9. 利用MultipartFile实现文件上传
  10. 涨知识!提单及运输业务中常用的一些代码、术语及意义!