收藏 分享(赏)

【毕业论文】Android手机平台音乐播放器(修改版).doc

上传人:hwpkd79526 文档编号:4320146 上传时间:2018-12-23 格式:DOC 页数:48 大小:1.64MB
下载 相关 举报
【毕业论文】Android手机平台音乐播放器(修改版).doc_第1页
第1页 / 共48页
【毕业论文】Android手机平台音乐播放器(修改版).doc_第2页
第2页 / 共48页
【毕业论文】Android手机平台音乐播放器(修改版).doc_第3页
第3页 / 共48页
【毕业论文】Android手机平台音乐播放器(修改版).doc_第4页
第4页 / 共48页
【毕业论文】Android手机平台音乐播放器(修改版).doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、基于 Android 手机平台的音乐播放器目录第一章 引 言 61.1 项目背景 .61.2 编写目的 .71.3 参考资料 .7第二章 系统需求分析 72.1 功能需求(用例图分析) .72.1.1 播放器的基本控制需求 82.1.2 播放清单列表管理需求 92.1.3 播放友好性需求 112.1.4 播放器扩展卡需求 132.1.5 功能需求(时序图) 分析 .142.2 系统结构图和流程图 .142.3 系统界面需求 .162.4 系统性能需求 .172.5 运行环境需求 .17第三章 Android 数据库设计 183.1 数据库及字段属性设计 .183.1.1 字段设计(表、图) 1

2、83.1.2 音乐播放器 E-R 图 .203.2 数据库连接 .203.2.1 创建数据库 203.2.2 操作数据库 213.2.3 数据显示 22第四章 Android 项目介绍 234.1 什么是 Android? .234.1.1 Android 简介 .234.1.2 Android Features 特性 234.1.3 Android 基本框架(Android Architecture) 24ii4.2 搭建 Android 开发环境 284.3 Android 常用工具的使用 304.3.1 命令行的使用 304.3.2 Dalvik Debug Monitor Servic

3、e (DDMS)的使用 314.4 Android 音乐播放器的工程 .314.4.1 Android 项目 .314.4.2 Android 工程程序结构 .324.4.3 AndroidManifest.xml 文件 .34第五章 播放器系统功能详细设计 365.1 音乐播放器主界面功能实现 365.1.1 播放器主界面 365.1.2 播放界面音轨的实现 375.1.3 播放器播放、暂停、停止等功能 405.2 播放列表功能 .415.3 菜单功能 .435.3.1 菜单界面 445.3.2 菜单功能实现 455.4 播放设置界面 .465.4.1 界面实现 465.4.2 歌词显示实现

4、 485.5 手机扩展卡的访问 .505.5.1 文件浏览器界面 505.5.2 文件浏览器功能实现 515.6 数据存储方式 .525.6.1 SharedPreferences .525.6.2 File 存储方式 535.6.3 SQLiteDatabase 数据库 53第六章 结 论 55iii摘 要当今社会的生活节奏越来越快+Android 系统上一的款多媒体播放器应用程序的设计与实现进行讨论。Android 是一个开源的系统,它底层是基于 Linux 的操作系统,本论文的音乐播放器采用了 Android 开源系统技术,利用 Java 语言和 Eclipse 编辑工具对播放器进行编写

5、。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该 多媒体集音频、视频、文本播放等功能于一体,性能良好,在 Android 系统中能独立运行。该播放器还拥有专辑信息显示、歌词显示,文本翻页效果。关键词:Android ; 开源系统 ; linux ; 音乐播放器ivABSTRACTThe pace of life in todays society, with more advanced hardware mobile devices for mobile devices, people more and more is

6、also high, the requirements from the previous pursuit to pursue the visual technology, therefore, also gradually improve the system requirements, the paper mainly is to take on a music player from system design and realization of the application is discussed. Take the system is an open source, it is

7、 based on the operating system, use the Linux music player of the Android open-source system technology, using the Java language and editing tools for players to Eclipse. Presents the detailed design process, the part of the system and the main functions of operation interface diagram of height, thi

8、s paper also flow process problems and solving methods are discussed in detail, and the music player episode, pause, stop and a, next, volume adjustment, lyrics display functions, such as performance is good, can operate independently in the Android system. This player has access to the file browser

9、 phone functions, songs and played pattern, open and close condition of friendly words. MP3 Audio MPEG Layer - name is 3, is a kind of sound files compressed format, because the players to explore, so the application procedure for specific compression algorithm not probeKeyWords:Android ; Open sourc

10、e system ; linux ; music player- 1 -第一章 引 言1.1 项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的 Android 操作系统,其中占有开放源代码优势的 Android 系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌 Android 系统就能做到。本文的音乐播放器就是基于谷歌 Android 手机平台的播放器。Android:是谷歌于 2007 年公布的开放

11、式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于 Android 平台的。随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如 CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对

12、以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放 RMVB 格式的视频文件。此外,还能支持中文、英文等语言界面。要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能,如 MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善

13、,有单曲,顺序,循环,随机播放等模式。1.2 编写目的现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项- 2 -目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计 的实现的这主要功能是播放 Mp3,Wav 多种格式的音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。 本项目是一款基于 Android 手机平台的音乐播放器,使 Android 手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使

14、设计者更加熟练 Android 的技术和其它在市场上的特点- 3 -第二章 系统需求分析2.1 功能需求(用例图分析)根据项目的目标,我们可获得项目系统的基本需求,并且使用用例图来描述系统的功能需求:图 2.1 播放器功能展示图用例名称:播放参与者:用户目标:使得用户可以播放在音乐或视频列表中选中的歌曲或视频前置条件:播放器正在运行基本事件流:1.用户单击“播放”按钮2.播放器将播放当前的歌曲视频- 4 -用例名称:暂停参与者:用户目标:使得用户可以暂停正在播放的歌曲或视频前置条件:歌曲或视频正在播放且未停止和暂停基本事件流:1.用户单击“暂停”按钮2.播放器将暂停当前的歌曲或视频用例名称:重

15、播参与者:用户目标:使得用户可以重新播放正在播放的视频前置条件:视频播放器运行中基本事件流:1.用户单击“重播”按钮2.播放器重新播放正在播放的视频用例名称:退出参与者:用户目标:使得用户可以返回系统主界面前置条件:音乐或者视频播放程序在运行基本事件流:1.用户单击“退出”按钮2.播放器返回系统主界面用例名称:音乐列表参与者:用户目标:使得用户可以进入音乐列表前置条件:程序在运行基本事件流:1.用户单击“音乐”按钮2.播放器进入清单列表- 5 -用例名称:文本列表参与者:用户目标:使得用户可以进入文本列表前置条件:程序在运行基本事件流:1.用户单击“音乐”按钮2.播放器进入清单列表用例名称:视

16、频列表参与者:用户目标:使得用户可以进入视频列表前置条件:程序在运行基本事件流:1.用户单击“音乐”按钮2.播放器进入清单列表用例名称:信息显示参与者:用户目标:程序在运行前置条件:程序运行在音乐播放界面基本事件流:1.用户单击列表中的音乐或视频文件2.播放器显示歌词,歌曲详情,视频详情用例名称:翻页控制参与者:用户目标:使得用户可以控制在列表中选中的文本向前或向后翻页前置条件:程序在运行基本事件流:1.用户在屏幕上“向左滑动”或者“向右滑动”2.播放器将把当前正在播放的文本向前或者向后翻页- 6 -2.2 系统结构图系统功能表(表 2.1)和系统功能结构图(图 2.2)功能类别 子功能文本列

17、表音乐列表播放列表视频列表播放暂停音频播放界面退出播放暂停重播视频播放界面退出上一页文本播放界面下一页表 2.1 功能表- 7 -图 2.2 系统功能结构图2.3 系统性能需求根据 Android 手机系统要求无响应时间为 5 秒,所以就有如下性能要求:(1)当要求歌曲播放时,程序响应时间最长不能超过 5 秒(2)当要求歌曲暂停时,程序响应时间最长不能超过 5 秒(3)当要求进行清单列表时,程序响应时间最长不能超过 5 秒2.5 运行环境需求操作系统:Android 手机基于 Linux 操作系统支持环境:Android 2.1 - 2.3 版本开发环境:Eclipse Helios (3.6

18、.2) ADT 8.0.1- 8 -第三章 Android 项目介绍4.1 什么是 Android?4.1.1 Android 简介Android 一词的本义指“机器人” ,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前最好的是 Android2.3 的摩托罗拉 Atrix 4G。Android 是基于 Linux 内核的软件平台和操作系统,早期由 Google 开发(在华注册商标名为“安致” ) ,后由开放手机联盟(Ope

19、n Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层 ) 的 架 构 , 主 要 分 为 三部 分 。 低 层 以 Linux 内 核 工 作 为 基 础 , 只 提 供 基 本 功 能 ; 其 他 的 应 用 软 件 则由 各 公 司 自 行 开 发 , 以 Java 作 为 编 写 程 序 的 一 部 分 。 另 外 , 为 了 推 广 此 技术 , Google 和 其 它 几 十 个 手 机 公 司 建 立 了 开 放 手 机 联 盟 。 Android 在 未 公开 之 前 常 被 传 闻 为 Google 电 话 或 gPhon

20、e。 大 多 传 闻 认 为 Google 开 发 的 是自 己 的 手 机 电 话 产 品 , 而 不 是 一 套 软 件 平 台 。 到 了 2010 年 1 月 , Google开 始 发 表 自 家 品 牌 手 机 电 话 的 Nexus One。 目 前 最 新 SDK 版 本 为 Android 3.0(Tablet)和 Android2.3.3( Mobile Phone) 。4.1.2 Android Features 特性Android 系统有如下的几大特性:应 用 程 序 框 架 支 持 组 件 的 重 用 与 替 换Dalvik 虚 拟 机 专 门 为 移 动 设 备 做

21、 了 优 化- 9 -内 部 集 成 浏 览 器 该 浏 览 器 基 于 开 源 的 WebKit 引 擎优 化 的 图 形 库 包 括 2D 和 3D 图 形 库 , 3D 图 形 库 基 于 OpenGL ES SQLite 用 作 结 构 化 的 数 据 存 储多 媒 体 支 持 包 括 常 见 的 音 频 、 视 频 和 静 态 印 象 文 件 格 式 ( 如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)GSM 电 话 ( 依 赖 于 硬 件 )蓝 牙 Bluetooth, EDGE, 3G, and WiFi ( 依 赖 于 硬 件 )照 相

22、 机 , GPS, 指 南 针 , 和 加 速 度 计 ( 依 赖 于 硬 件 )丰 富 的 开 发 环 境 包 括 设 备 模 拟 器 , 调 试 工 具 , 内 存 及 性 能 分 析 图 表 ,和 Eclipse 集 成 开 发 环 境 插 件4.1.3 Android 基本框架(Android Architecture)图 4.1 Android Architecture- 10 -(1) ApplicationsApplication Android 会 同 一 个 核 心 应 用 程 序 包 一 起 发 布 , 该 应 用 程 序 包包 括 email 客 户 端 , SMS 短

23、消 息 程 序 , 日 历 , 地 图 , 浏 览 器 , 联 系 人 管 理 程序 等 。 所 有 的 应 用 程 序 都 是 用 JAVA 编 写 的 。(2) Application FrameWork 开 发 者 完 全 可 以 访 问 核 心 应 用 程 序 所 使 用 的 API 框 架 。 该 应 用 程 序 架 构用 来 简 化 组 件 软 件 的 重 用 ; 任 何 一 个 应 用 程 序 都 可 以 发 布 它 的 功 能 块 并 且 任何 其 它 的 应 用 程 序 都 可 以 使 用 其 所 发 布 的 功 能 块 ( 不 过 得 遵 循 框 架 的 安 全 性限 制

24、) 。 该 应 用 程 序 重 用 机 制 使 得 组 建 可 以 被 用 户 替 换 。所 有 的 应 用 程 序 都 由 一 系 列 的 服 务 和 系 统 组 成 , 包 括 : 可 扩 展 的 视 图 ( Views ) 可 以 用 来 建 应 用 程 序 , 包 括 列 表( lists) , 网 格 ( grids) , 文 本 框 ( text boxes) , 按 钮 ( buttons) , 甚至 包 括 一 个 可 嵌 入 的 web 浏 览 器内 容 管 理 器 ( Content Providers ) 使 得 应 用 程 序 可 以 访 问 另 一 个应 用 程 序

25、的 数 据 ( 如 联 系 人 数 据 库 ) , 或 者 共 享 它 们 自 己 的 数 据 。资 源 管 理 器 ( Resource Manager) 提 供 非 代 码 资 源 的 访 问 , 如 本 地 字符 串 , 图 形 , 和 分 层 文 件 ( layout files ) 。通 知 管 理 器 ( Notification Manager) 使 得 应 用 程 序 可 以 在 状 态 栏中 显 示 客 户 通 知 信 息 。活 动 类 管 理 器 ( Activity Manager) 用 来 管 理 应 用 程 序 生 命 周 期 并 提供 常 用 的 导 航 回 退 功

26、 能 。(3) Libraries 库Android 包 括 一 个 被 Android 系 统 中 各 种 不 同 组 件 所 使 用 的 C/C+ 库 集 。 该 库 通 过 Android 应 用 程 序 框 架 为 开 发 者 提 供 服 务 。 以 下 是 一 些 主要 的 核 心 库 :系 统 C 库 - 一 个 从 BSD 继 承 来 的 标 准 C 系 统 函 数 库 ( libc ) , 专门 为 基 于 embedded linux 的 设 备 定 制 。 媒 体 库 - 基 于 PacketVideo OpenCORE; 该 库 支 持 录 放 , 并 且 可 以 录 制

27、 许 多 流 行 的 音 频 视 频 格 式 , 还 有 静态 印 像 文 件 包 括 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 对 显 示 子 系 统 的 管 理 , 并 且 为 多 个 应 用 程 序 提 供 2D 和 3D 图 层 的无 缝 融 合 。 LibWebCore - 一 个 最 新 的 web 浏 览 器 引 擎 用 来 支 持 Android浏 览 器 和 一 个 可 嵌 入 的 web 视 图 。 SGL - 一 个 内 置 的 2D 图 形 引 擎 3D libraries - 基 于 OpenGL

28、 ES 1.0 APIs 实 现 ; 该 库 可 以 使 用 硬 件 3D 加 速- 11 -( 如 果 可 用 ) 或 者 使 用 高 度 优 化 的 3D 软 加 速 。 FreeType - 位 图( bitmap) 和 向 量 ( vector) 字 体 显 示 。 SQLite 一 个 对 于 所 有 应 用 程 序可 用 , 功 能 强 劲 的 轻 型 关 系 型 数 据 库 引 擎 。(4) Android Runtime Android 包 括 了 一 个 核 心 库 , 该 核 心 库 提 供 了 JAVA 编 程 语 言 核 心 库 的大 多 数 功 能 。每 一 个 An

29、droid 应 用 程 序 都 在 它 自 己 的 进 程 中 运 行 , 都 拥 有 一 个 独 立 的Dalvik 虚 拟 机 实 例 。 Dalvik 是 针 对 于 同 时 高 效 地 运 行 多 个 VMs 来 实 现 的 。Dalvik 虚 拟 机 执 行 .dex 的 Dalvik 可 执 行 文 件 , 该 格 式 文 件 针 对 最 小 内 存 使用 做 了 优 化 。 该 虚 拟 机 是 基 于 寄 存 器 的 , 所 有 的 类 都 经 由 JAVA 汇 编 器 编 译 ,然 后 通 过 SDK 中 的 dx 工 具 转 化 成 .dex 格 式 由 虚 拟 机 执 行

30、。Dalvik 虚 拟 机 依 赖 于 linux 的 一 些 功 能 , 比 如 线 程 机 制 和 底 层 内 存 管理 机 制 。(5) Linux 内 核Android 的 核 心 系 统 服 务 依 赖 于 Linux 2.6 内 核 , 如 安 全 性 , 内 存 管理 , 进 程 管 理 , 网 络 协 议 栈 和 驱 动 模 型 。 Linux 内 核 也 同 时 作 为 硬 件 和 软件 堆 栈 之 间 的 硬 件 抽 象 层 。 未 来 发 展 老 牌 智 能 手 机 软 件 平 台 制 造 商Symbian 发 言 人 则 表 示 : Google 的 android 只

31、 不 过 是 另 一 个linux, symbian 对 其 它 软 件 与 其 形 成 的 竞 争 并 不 感 到 担 心 。 除 了 北 美 之 外 ,Symbian 在 其 它 地 区 智 能 手 机 市 场 都 占 有 大 部 分 市 场 份 额 。 与 iPhone 相似 , Android 采 用 WebKit 浏 览 器 引 擎 , 具 备 触 摸 屏 、 高 级 图 形 显 示 和 上 网功 能 , 用 户 能 够 在 手 机 上 查 看 电 子 邮 件 、 搜 索 网 址 和 观 看 视 频 节 目 等 , 比iPhone 等 其 他 手 机 更 强 调 搜 索 功 能 ,

32、界 面 更 强 大 , 可 以 说 是 一 种 融 入 全 部Web 应 用 的 单 一 平 台 。 但 其 最 震 撼 人 心 之 处 在 于 Android 手 机 系 统 的 开 放 性 和 服 务 免 费 。Android 是 一 个 对 第 三 方 软 件 完 全 开 放 的 平 台 , 开 发 者 在 为 其 开 发 程 序 时 拥有 更 大 的 自 由 度 , 突 破 了 iPhone 等 只 能 添 加 为 数 不 多 的 固 定 软 件 的 枷 锁 ;同 时 与 Windows Mobile、 Symbian 等 厂 商 不 同 , Android 操 作 系 统 免 费 向

33、开 发 人 员 提 供 , 这 样 可 节 省 近 三 成 成 本 。 Android 项 目 目 前 正 在 从 手 机 运营 商 、 手 机 厂 商 、 开 发 者 和 消 费 者 那 里 获 得 大 力 支 持 。 谷 歌 移 动 平 台 主 管 安迪 鲁 宾 (Andy Rubin)表 示 , 与 软 件 开 发 合 作 伙 伴 的 密 切 接 触 正 在 进 行 中 。从 去 年 11月 开 始 , 谷 歌 开 始 向 服 务 提 供 商 、 芯 片 厂 商 和 手 机 销 售 商 提 供Android 平 台 , 并 组 建 “开 放 手 机 联 盟 ”, 其 成 员 超 过 30

34、家 。 市 场 前 景 Google 手 机 于 08年 10月 22日 正 式 上 市 , 与 运 营 商 捆 绑 的 合 约 价 为 179美 元- 12 -(约 合 人 民 币 1200元 ), 现 有 的 T-Mobile 用 户 可 以 通 过 网 络 订 购 。 在 10月22日 发 布 当 天 , 将 有 22个 国 家 和 地 区 可 以 买 到 谷 歌 手 机 。 在 11月 , 将 增 至27个 国 家 和 地 区 。 谷 歌 手 机 将 只 能 在 T-Mobile 网 络 内 使 用 , 将 会 有 SIM 卡 锁 定 限 制 。 T-Mobile USA 提 供 了

35、两 种 流 量 和 短 信 近 曝 光 的 moto sholes( 也 有 人 称 之 为moto tao) 将 搭 载 最 新 的 android2.0操 作 系 统 包 月 计 划 。 第 一 档 为 25美 元 ,包 括 不 限 制 的 网 络 流 量 , 以 及 一 定 数 量 的 短 信 ; 第 二 档 为 35美 元 , 包 括 不限 制 的 网 络 流 量 和 不 限 数 量 的 短 信 。 G1支 持 各 种 谷 歌 的 服 务 , 包 括Gmail、 Google Maps、 YouTube、 Google 日 历 和 Google Talk, 内 置Chrome Lite

36、 浏 览 器 。 使 用 这 款 手 机 也 需 要 Gmail 账 号 。 “我 爱 死 我 的G1了 ! ”谷 歌 联 合 创 始 人 拉 里 佩 奇 (Larry Page)憧 憬 : “对 于 我 来 说 ,谷 歌 手 机 最 激 动 人 心 的 一 点 就 是 它 的 未 来 。 它 的 功 能 很 强 , 正 如 几 年 前 的 电脑 一 样 。 你 可 以 上 网 , 安 装 软 件 。 ” T-Mobile USA 为 德 国 电 信 旗 下 移 动 子公 司 , 运 营 GSM/HSPA 网 络 , 拥 有 用 户 近 3000万 。 此 次 发 布 的 谷 歌 手 机 采

37、用高 通 MSM7201A 处 理 器 , 支 持 7.2Mbps 下 载 速 率 , 美 国 运 营 商 3G 网 络 设 定 的套 餐 速 率 一 般 可 达 1Mbps 以 上 。 MSM7201A 为 单 芯 片 、 双 核 , 整 合 硬 件 加 速多 媒 体 功 能 、 支 持 3D 图 形 , 300万 像 素 的 摄 像 功 能 可 以 扫 描 条 形 码 , 并 且 有GPS 功 能 。 在 美 国 四 大 移 动 运 营 商 中 , T-Mobile USA 处 于 相 对 弱 势 的 地位 , 不 过 T-Mobile 在 欧 洲 有 更 为 强 势 的 是 CDMA E

38、V-DO 网 络 , 而 T-Mobile USA 和 苹 果 iPhone 的 独 家 运 营 商 ATsetContentView(R.layout.play_rack);该 方 法 主 要 执 行 界 面 的 初 始 化 操 作 , Activity 有 个 设 置 布 局 的 方 法 :Context.setContentView(layoutResID),参数为资源 ID,该 Id 在工程目录- 24 -res/layout 下,主界面布局文件名为 play_rack。下面为 play_rack.xml 布局文件代码结构如下:在绝对布局下嵌套两种线性布局和,第一个实现了标题和歌曲名的

39、显示位置,通过布局设置绝对坐标来控制标题的位置。每个布局内可以放置多种Widget(窗体部件)例如:等。每个Widget内有多种属性,可以设置该Widget的坐标,大小,背景和颜色等参数。在播放界面中,歌词显示为居中,实现方法代码如下:属性:orientation=“horizontal“:此线性布局的子部件为水平方式布局Layout_width=“fill_content“ :布局的宽度为填满父布局Layout_height=“wrap_content“ :布局的高度子由窗体的大小决定窗体TextView 文本 :textColor=“8deeee“ 设置文本显示的颜色RGB为 “8deee

40、e“TextSize为默认大小5.1.2 播放界面音轨的实现播放器音轨SeekBar(如下图)- 25 -Android系统自带SeekBar(如下图)图 5.2不管是从界面外观还是从功能上,系统自带的SeekBar往往不能满足用户的需要。所以我在这里自定义了一个音轨SeekBar,在play_rack.Xml配置文件中,SeekBar的代码如下:上面代码中有参数android:thumb=“drawable/thumb“ 为音轨游标的图片资源android:progressDrawable=“drawable/seekbar_style“为SeekBar条的风格style。引用了drawab

41、le中的seekbay_style.xml文件,seekbay_style.Xml是自定义的配置文件,算法如下:配置文件中三个Item项依次决定了SeekBar的三层背景,从最下层的灰色到最上层的蓝色。通过各种属性设置了SeekBar的倾斜度,两端圆半径,角度,中心位置,起始,中心和结束的颜色,游标的起始位置。通过这些属性设置,就自定义一个如上图一的SeekBar音轨.播放器最重要的一部分就是音轨与歌曲进度同步的实现。音轨设置了两个TextView用来显示当前歌曲播放的进度时间和歌曲的长度(图5.3)图 5.3音轨对象SeekBar在歌曲刚开始播放的时候调用方法SeekBar.setMax()

42、,参数传入歌曲的长度。SeekBar.setProgress(1)设置游标的起始进度为1。然后程序运行如下代码:private Runnable thread_One = new Runnable() / 线程public void run() int currently_Progress = seekBar.getProgress() + 1000;seekBar.setProgress(currently_Progress);currently_Time.setText(getFileTime(mplayer.getCurrentPosit ion(); showLrcTwo(lrc_time, lrc_word);handler.postDelayed(thread_One, 1000);Android的线程的开始是通过Handler类来进行的,Handler类是线程与线程之间通信的桥梁,实现Runnable接口会实现里面的run方法,当线程开始的时候,Runnable中的run方法会向Handler发一个Message消息,这样,Handler类就可以接收到run方法发送过来的不同的消息进行不同的代码处理。这样就达到了各线程之间的通信。要启动一个线程调用Handler的方法postDelayed(Runnable,1000)表示线程睡眠时间是1000ms 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报