1、 基于 Android 手机平台的音乐播放器 第一章 引 言 . - 1 - 1.1 项目背景 . - 1 - 第 2 章 系统的可行性研究 . - 2 - 2.1 经济上的可行性 . - 2 - 2.2 技术上的可行性 . - 2 - 2.3 操作上的可行性 . - 2 - 第 3 章 需求分析 . - 3 - 3.1 软件目标 . - 3 - 3.2 功能需求 . - 3 - 3.2.1 功能需求 (时序图 )分析和结构图 . - 3 - 3.3 系统性能需求 . - 5 - 3.4 系统界面需求 . - 5 - 3.5 运行环境需求 . - 6 - 第三章 Android 项目介绍 .
2、- 6 - 4.1 什么是 Android? . - 6 - 4.1.1 Android 简介 . - 6 - 4.1.2 Android Features 特性 . - 7 - 4.1.3 Android 基本框架( Android Architecture) . - 7 - 4.1.4 Android 系统的四大组件 . - 10 - 4.3 Android 常用工具的使用 . - 11 - 4.3.1 命令行的 使用 . - 11 - 4.3.2 Dalvik Debug Monitor Service (DDMS)的使用 . - 12 - 4.4 Android 音乐播放器的工程 .
3、- 12 - 4.4.1 Android 项目 . - 12 - 4.4.2 Android 工程程序结构 . - 13 - 4.4.3 AndroidManifest.xml 文件 . - 15 - 第五章 播放器系统功能详细设计 . - 17 - 5.1音乐播放器主界面功能实现 . - 17 - 5.1.1 播放器主界面 . - 17 - 5.1.2 播放界面音轨的实现 . - 18 - 5.1.3 播放器播放、暂停、停止等功能 . - 21 - 5.2 播放列表功能 . - 22 - 5.3 菜单功能 . - 24 - 5.3.1 菜单界面 . - 24 - 5.3.2 菜单功能实现 .
4、 - 25 - 5.4 播放设置界面 . - 27 - 5.4.1 界面实现 . - 27 - 5.4.2 歌词显示实现 . - 28 - 5.5.2 文件浏览器功能实现 . - 31 - 5.6 数据存储方式 . - 31 - 5.6.1 SharedPreferences. - 32 - 5.6.2 File 存储方式 . - 32 - 第六章 结 论 . - 33 - 摘 要 当今社会的生活节奏越来越快 +Android 系统上一的款音乐播放器应用程序的设计与实现进行讨论。 Android 是 一个开源的系统,它底层是基于Linux的操作系统,本论文的音乐播放器采用了 Android开源
5、系统技术,利用 Java语言和 Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在 Android系统中能独立运行。该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以及歌词开闭状态的友好设置 .MP3的全名是 MPEG Audio Layer-3,是一种声音文件的压缩格式 ,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不作深究。 关键词 : Android ; 开源系统 ; 音
6、乐播放器 - 1 - 第一章 引 言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统, Windows mobile, symbian,以及谷歌的 Android操作系统,其中占有开放源代码优势的 Android系统有最大的发展前景。 那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌 Android系统就能做到。本文的音乐播放器就是基于谷歌 Android 手机平台的播放器。 Android:是谷歌于 2007 年公布的开放式源代码手机系统,它的开放性就优于其它封闭式
7、的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于 Android平台的。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐 渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如 CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播
8、放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放 RMVB格式的视频文件。此外,还能支持中文、英文 等语言界面。 要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能,如 MP3, WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
9、 - 2 - 第 2 章 系统的可行性研究 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场 发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统, Windows mobile,symbian,以及谷歌的 Android 操作系统,其中占有开发源代码优势的 Android 系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌 Android系统就能做到。本文的音乐播放器就是基于谷歌 Android 手机平台的播放器。 2.1 经济上的可行性 Android 是 Google 历经数年和投资数亿美元开发出来的智能手机系统,
10、是 基于 Linux 内核的操作系统,是 Google 公司在 2007 年 11 月 5 日公布的手机操 作系统。随着各大移动终端生产商大力开发和生产基于 Android 的移动智能设备, Android 迅速得到业界和社会的认可,并成为整个产业的热点,基于 Android 平 台的各类人才逐渐成为各大企业竞相争夺的焦点。 而且 Android 是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。 2.2 技术上的可行性 Google 发起了围绕 Android 的组织 开放手机联盟, 其英文全称为 “Open Handset Alliance”。 它采用了软件堆层( so
11、ftware stack,又名以软件叠层) 的架构,主要分为三部分。底层 Linux 内核只提供基本功能;其他的应用软件则 由各公司自行开发,部分程序以 Java 编写。 2.3 操作上的可行性 本系统采用 Android 框架 , 可以在 eclipse 中安装 Android 开发插件 ,使用 Android 模拟器也可以使用任意 Android 终端。模拟器和真正的 Android手机没有太大区别 ,人们对手机操作早已熟悉。 综合以上三方面,该系统具有很高的开发可行性,无论是从技术上经 济上还是操作上。故此,可以设计该系统流程图,建立数据字典。 - 3 - 第 3 章 需求分析 软件需求
12、分析工作是软件生存期中重要的一步,也是决定性的一步。软件需求分析是一个不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件范围逐步细化到可详细定义的程度。需求分析还是软件开发的基础,假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花几倍甚至更多的时间。因此对于复杂系统而言,首先要进行需求分析。开发人员应该对用户的要求及现实环境进行调查和了解。 3.1 软件 目标 本系统属于 用户常用的音乐播放器 。可以 方便用户平时对音乐文件的操作 。本系统应达到以下目标: ( 1) 软件采用人机交互的方式,界面美观友好,操作 灵活、方便 、富有个性化 。 (
13、2)能够对 音乐文件 进行有效的管理。 ( 3)系统应最大限度地实现易维护性和易操作性。 3.2 功能需求 功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了用户的业务需求。 用户需求文档描述了用户使用产品必须要完成的任务。针对 音乐播放器 分别对 音乐播放 、 在线音乐播放 及 会员特权的换肤 等功能进行详细的调研和分析,总结出如下的用 户需求信息。 3.2.1 功能需求 (时序图 )分析 和结构图 从时序图中可以看出播放器中信息发送和调用过程 主界面 播放列表 播放界面 点击进入按钮 选择歌曲播放 进入播放列表 播放 后台 service Servic 播放页面
14、 发送参数,调用后台 service 播放,返回播放界 面 - 4 - 3.2.2系统功能表和结构图 功能类别 子功能 子功能 播放列表 播放列表菜单 退出播放 从扩展卡寻找歌曲 歌曲菜单 播放 -进入播放界面 删除 -数据库同步更新 重命名 -数据库同步更新 向上、下移动 -数据库同步更新 播放界面 播放 播放歌曲 -线程启动 -时间更新 暂停 暂停歌曲 -线程暂停 -时间暂停 停 止 停止歌曲 -线程停止 -时间停止 上一首 播放列表索引变化 -寻找上一 ID歌曲 下一首 播放列表索引变化 -寻找下一 ID歌曲 播放界面菜单 返回到播放列表 返回到主菜单 从扩展卡寻找歌曲 退出播放器 隐藏
15、播放界面 主菜单 退出程序 程序退出 进入播放列表 显示播放列表 . 主界面 是否显示全 部音乐 播放列表 是否点击要播放的歌曲 音乐播放 程序结束 - 5 - 图 3.2.3 结构图 3.3 系统性能需求 根据 Android 手机系统要求无响应时间为 5 秒,所以就有如下性能要求: 1) 当要求歌曲播放 时,程序响应时间最长不能超过 5 秒 2) 当要求歌曲暂停时,程序响应时间最长不能超过 5 秒 3) 当要求歌曲上 /下一首时,程序响应时间最长不能超过 5 秒 3.4 系统界面需求 播放器界面要求布局合理,颜色舒适,控制按钮友好,为了减少开发工程量,图片素材多数为公司项目素材(图 2.6
16、) 图 2.6 播放器界面 说明:左下角为清单按钮 右下角为程序退出按钮 蓝色条为音轨 - 6 - 3.5 运行环境需求 操作系统: Android手机基于 LINUX 操作系统 支持环境: Android 1.5 - 2.0.1版本 开发环境: Eclipse 3.5 ADT 0.95 第三 章 Android 项目介绍 4.1 什么是 Android? 4.1.1 Android 简介 Android一词的本义指“ 机器人 ”,同时也是 Google于 2007 年 11月 5日宣布的基于 Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个
17、为移动终端打造的真正开放和完整的移动软件。目前最好的是 Android2.0 的摩托罗拉 Droid Android是基 于 Linux内核的软件平台和操作系统,早期由 Google 开发(在华注册商标名为“安致”),后由开放手机联盟( Open Handset Alliance)开发。它采用了软件堆层( software stack,又名以 软件叠 层)的架构,主要分为三部分。低层以 Linux 内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以 Java 作为编写程序的一部分。另外,为了推广此技术, Google 和其它几十个手机公司建立了开放手机联盟。 Android
18、在未公开之前常被传闻为 Google 电话或 gPhone。大多传闻认为 Google 开发的是自己的手机电话产品,而不是一套软件平台。到了 2010 年 1 月, Google 开始发表自家品牌手机电话的 Nexus One。目前最新 SDK 版本为 Android 2.1 - 7 - 4.1.2 Android Features 特性 Android 系统有如下的几大特性: 应用程序框架 支持组件的重用与替换 Dalvik 虚拟机 专门为移动设备做了优化 内部集成浏览器 该浏览器基于开源的 WebKit 引擎 优化的图形库 包括 2D 和 3D 图形库, 3D 图形库基于 OpenGL E
19、S SQLite 用作结构化的数据存储 多媒体支持 包括常见的音频、视频和静态印象文件格式(如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM 电话(依赖于硬件) 蓝牙 Bluetooth, EDGE, 3G, and WiFi (依赖于硬件) 照相机, GPS,指南针,和加速度计 (依赖于硬件) 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和 Eclipse 集成开发环境插件 4.1.3 Android 基本框架( Android Architecture) 图 4.1 Android Architecture (1) Applications Application Android 会同一个 核心应用程序包一起发布,该应用程