音乐播放器设计文档

合集下载

音乐播放器设计文档

音乐播放器设计文档

生产实习报告题目:音乐播放器学生姓名:张凡学号: 201220220123 班级: 1222201 专业:数字媒体技术指导教师:张金2015年08 月08日目录一、引言 (3)1.1 项目背景 (3)1.2 项目研究的目的 (4)1.3 安卓简介 (4)二.功能分析 (5)2.1 功能需求分析 (5)2.2 系统性能需求 (6)2.3 运行环境需求 (6)三.程序详细设计 (6)3.1 主界面的设计 (6)3.2 播放界面设计 (11)3.3 其他功能 (14)四.调试与运行 (18)4.1 调试 (18)4.2 运行结果 (19)五.总结 (21)一、引言1.1 项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。

那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。

本文的音乐播放器就是基于谷歌Android手机平台的播放器。

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。

于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。

针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。

此外,还能支持中文、英文等语言界面。

音乐播放器的详细设计

音乐播放器的详细设计

音乐播放器详细设计1.引言随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。

而3G时代的到来,手机移动应用越来越普遍。

此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。

1.1 编写目的为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。

本文档供项目组成员,软件开发人员参考。

1.2项目背景本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。

该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。

1.3 参考资料[1] 彭重庆大学出版社《软件工程》“软件计划与可行性分析”[2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》[3] 可行性分析[4] 《音乐播放器需求分析书》[5] 《音乐播放器总体设计说明书》1.4项目开发计划实施计划:在技术方面,编程知识比较缺乏,对有些与项目相关的软件不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。

2. 总体设计2.1 项目目的本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。

设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取存储卡播放等多种播放控制,界面简明,操作简单。

软件系统检测到错误行为时,报告错误,并提示处理操作。

2.2 软件运行环境硬件:Android操作系统手机系统软件:Android 2.2 -- 4.0版本支撑软件:Eclipse 7.5 、ADT 1.52.3 需求概述根据项目,我们可以获得项目系统的基本需求,从功能需求、界面需求、性能需求、可靠性要求四个方面来描述系统的需求,再分别对各个需求进行分析。

设计一个个性化的音乐播放器

设计一个个性化的音乐播放器

设计一个个性化的音乐播放器一、引言音乐是人们生活中不可或缺的一部分,而个性化音乐播放器可以使用户更好地享受音乐,并根据用户的个人喜好进行推荐,满足用户的需求。

本文将设计一个个性化音乐播放器,结合用户需求和技术实现来探讨如何提供个性化的音乐播放体验。

二、需求分析1.用户注册与登录:为了提供个性化服务,用户需要注册并登录账号。

2.音乐库管理:播放器需要维护一个庞大的音乐库,包括不同类型的音乐,以及歌曲的相关信息,如歌手、专辑等。

3.音乐推荐:根据用户的播放历史、喜好等信息,系统应该能够为用户推荐相关的音乐,提供多种推荐算法选择。

4.播放器界面:设计一个美观、简洁的播放器界面,方便用户使用与操作。

5.搜索功能:用户可以通过关键词或者筛选条件来搜索自己想要的音乐。

6.用户收藏与评论:用户可以收藏自己喜爱的音乐,并且可以对音乐进行评论与评分,与其他用户互动。

7.音乐下载:用户可以选择下载想要的音乐,用于离线收听。

三、技术实现1.后端开发:使用一种服务器端语言,如Java、Python或Node.js等,实现用户管理、音乐库管理、音乐推荐、搜索功能、用户收藏与评论等功能。

2.数据库设计:使用关系型数据库,如MySQL或者非关系型数据库,如MongoDB等,存储用户信息、音乐信息、播放历史等数据。

3.前端开发:使用Web技术,如HTML、CSS、JavaScript等,实现用户注册与登录、音乐播放器界面、搜索界面、用户收藏与评论界面等功能。

4.推荐算法:根据用户的个人喜好、音乐特性等信息,可以使用协同过滤、基于内容的推荐、深度学习等算法进行音乐推荐。

5.音乐下载:通过服务器端提供的下载接口,实现用户根据需要下载音乐。

6.安全性考虑:用户信息需要加密存储,密码需要进行哈希处理;服务器端要进行数据校验与防范SQL注入等攻击。

7.用户体验优化:播放器需要提供界面美观、操作流畅等体验,同时要保证服务的可靠性和稳定性,避免出现卡顿或者中断等情况。

音乐播放器单片机课程设计

音乐播放器单片机课程设计

一.概述 (2)二.系统总体方案设计 (3)三.硬件设计 (6)3.1 89C51单片机 (6)图3-1和3-2 (7)3.2 I/O并行口直接驱动LED显示 (7)四.软件设计 (10)4.1.软件设计 (10)五.系统调试与仿真 (12)5.1软件仿真阶段 (12)5.2系统的仿真调试阶段 (12)5.3硬件安装调试 (12)六.总结 (14)参考文献 (15)附录A:音乐播放器电路设计图 (16)附录B:程序清单 (17)一.概述本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。

音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。

设计3个按键:播放/停止、下一曲、上一曲;4位LED显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。

总体的设计思路是这样的。

二.系统总体方案设计本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功能。

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,音阶对应频率关系图1-1:图2-1本设计用89C51单片机为核心,利用8段数码管显示器.采用动态显示输出,声音输出用蜂鸣器来实现。

采用8段数码管显示器进行动态显示需要占用4根I/O线,蜂鸣器占用1根I/O线,89C51单片机有足够的线,不用扩展I/O口。

用一片单片机即可满足本设计的输入输出。

系统框图如图1-2所示:图2-2通过对音乐播放器主体部分的电路进行模仿设计,达到播放器固有的基本功能,设定按钮K1、 K2和K3。

按钮K1打开并自动播放乐曲1;按钮K2打开并自动播放乐曲2;按钮K3为手动控制音乐停止的按键。

根据设计要求该播放器能实现音键的控制。

除此之外还实现了存储并读出几首音乐的功能。

基于Android平台的音乐播放器设计文档

基于Android平台的音乐播放器设计文档

基于Android平台的音乐播放器设计文档(张纪华,农学院,021*******;查李想,农学院,021*******)第一章开发目的现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放Mp3等多种格式的音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。

本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。

使人们的生活更加多样化。

也使设计者更加熟练Android的技术和其它在市场上的特点。

第二章系统需求分析2.1 功能需求(用例图分析)根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。

以下分别描述:2.1.1 播放器的基本控制需求图2.1 播放器基本控制图2.1.2 播放清单列表管理需求当用户选中列表中某一项歌曲,就有的需求:图2.2 播放器清单图2.3 播放器设定图2.4 文件浏览器2.1.5 功能需求(时序图)分析2.2 系统结构图和流程图(1)音乐播放器的系统流程图(图2.5.1)图2.5.1 流程图(2)系统功能表(表2.1)和系统功能结构图(图2.5.2)表2.1 功能表图2.5.2 系统功能结构图2.3 系统界面需求播放器界面要求布局合理,颜色舒适,控制按钮友好(图2.6)图2.6 播放器界面说明:左下角为清单按钮右下角为程序退出按钮蓝色条为音轨2.4 系统性能需求根据Android手机系统要求无响应时间为5秒,所以就有如下性能要求:(1)当要求歌曲播放时,程序响应时间最长不能超过5秒(2)当要求歌曲暂停时,程序响应时间最长不能超过5秒(3)当要求歌曲停止时,程序响应时间最长不能超过5秒(4)当要求歌曲上/下一首时,程序响应时间最长不能超过5秒(5)当要求进行清单列表时,程序响应时间最长不能超过5秒2.5 运行环境需求操作系统:基于Android操作系统支持环境:Android 2.3.1—Android 4.2.5版本开发环境:Eclipse 3.5 ADT 0.95第三章 Android数据库设计3.1 数据库及字段属性设计3.1.1 字段设计(表、图)file_table 主要是保存歌曲名字、类型、路径字段说明:Id 歌曲id号 fileName 歌曲名字 filePath 歌曲路径 sort 歌曲类型(表3.1、图3.1.1)Android自带一个MediaStore封闭类专门来存储媒体信息通过Uri EXTERNAL_CONTENT_URI 来访问SDcard中的歌曲详细信息。

(完整word版)基于java的音乐播放器的设计

(完整word版)基于java的音乐播放器的设计

《课程设计报告》课程名称:WEB课程设计2016—2017 学年度第一学期题目:基于java的音乐播放器系别:信息工程学院专业: 计算机科学与技术专业班级:指导教师:编者目录一。

需求分析 (1)(一)背景 (1)(二)音乐播放器需求分析 (1)二.概要设计 (5)(一)系统所用类及各类的主要说明 (5)(二)系统UML类图 (6)三。

详细设计 (8)(一)核心技术介绍 (8)(二)创建播放器的图形用户界面所需的控件 (11)四。

系统实现 (14)五.测试 (44)结论 (46)一.需求分析(一)背景随着计算机的广泛运用,手机市场的迅速发展,各种音频视频也在网上广为流传,这些资源看似平常,但以渐渐成为人们必不可少的一部分了,于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对很多用户的时间造成了很多资源的浪费,比如CPU、内存的占有率过高,在用户需求多用户操作时,受到了不小的影响,带来了许多的不便,而对于大多数普通用户,许多功能用不上,形同虚设。

(二)音乐播放器需求分析根据项目,我们可以获得项目系统的基本需求主要是功能需求而系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求、播放列表管理需求和性能需求。

以下分别描述:121、播放器的基本控制需求(1)播放:点击播放列表中的歌曲进行播放。

(2)停止:在歌曲列表下方有一个小按钮,当歌曲正在播放时,显示的是可停止的按钮,点击则停止当前播放的歌曲.(3)上一曲:歌曲在播放或者未播放时单击上一曲按钮时歌曲会跳到列表的当前歌曲的上一首.(4)下一曲:歌曲在播放或者未播放时单击下一曲按钮时歌曲会跳到列表的当前歌曲的下一首。

(5)停止:单击停止按钮时立即停止播放当前的歌曲。

3用户需求图音乐播放器系统流程图2、播放列表管理(1)添加歌曲文件夹:在播放列表中单击,选择添加的文件夹则弹出一个添加文件夹的会话框,点击要添加的歌曲,则弹出“添加成功"的消息提示,否则弹出“添加失败”的相关信息。

android音乐播放器毕业设计

android音乐播放器毕业设计

android音乐播放器毕业设计Android音乐播放器毕业设计随着智能手机的普及,人们对音乐的需求也越来越高。

而作为一名计算机专业的毕业生,我决定选择开发一款Android音乐播放器作为我的毕业设计。

本文将介绍我设计的这款音乐播放器的功能和特点,以及我在开发过程中遇到的挑战和解决方案。

一、功能和特点1. 音乐库管理:用户可以通过该应用管理手机中的音乐文件,包括添加、删除、修改歌曲信息等操作。

同时,应用还支持对音乐文件进行分类、排序和搜索,方便用户快速找到自己想听的歌曲。

2. 播放控制:应用提供基本的音乐播放控制功能,包括播放、暂停、上一曲、下一曲等。

同时,还支持播放模式的切换,如顺序播放、随机播放和单曲循环等。

3. 歌词显示:应用可以自动搜索并显示歌曲的歌词,让用户更加沉浸在音乐中。

同时,还支持手动导入歌词文件,以满足用户个性化的需求。

4. 播放列表:用户可以创建自己的播放列表,将喜欢的歌曲添加到其中,方便随时播放。

同时,还支持对播放列表进行编辑,如添加、删除和排序等操作。

5. 主题切换:应用提供多种主题供用户选择,让用户可以根据自己的喜好来设置界面的外观。

同时,还支持自定义主题,让用户可以根据自己的需求自由设置。

二、挑战和解决方案在开发过程中,我遇到了一些挑战,下面是我解决这些挑战的方案。

1. 音乐文件的扫描和管理:为了能够准确地获取手机中的音乐文件,我使用了Android提供的媒体库API来扫描和管理音乐文件。

通过使用这些API,我能够获取到音乐文件的路径、歌曲信息和封面等数据,从而实现了音乐库管理的功能。

2. 歌词的搜索和显示:为了能够自动搜索并显示歌曲的歌词,我使用了第三方的歌词搜索API。

通过调用该API,我可以根据歌曲的名称和歌手来搜索歌词,并将搜索结果显示在应用中。

同时,为了能够满足用户自定义歌词的需求,我还实现了手动导入歌词文件的功能。

3. 播放控制和界面设计:为了实现播放控制的功能,我使用了Android提供的MediaPlayer类来控制音乐的播放。

音乐播放器概要设计说明书

音乐播放器概要设计说明书

逗逗音乐播放器----概要设计说明书一、引言 (2)1.1、编写目的 (2)1.2、背景 (2)1.3、定义 (3)1.4、参考资料 (3)用户界面风格设计参考了其他音乐播放器的设计 (4)二、总体设计 (4)2.1、需求规定 (4)2.2、运行环境 (4)2.3、基本设计概念和处理流程 (5)2.4、结构 (6)2.5、尚未解决的问题 (6)三、接口设计 (6)3.1、外部接口 (6)3.2、内部接口 (6)四、系统数据结构设计 (7)4.1、逻辑结构设计要点 (7)4.2、物理结构设计要点 (7)4.3、数据结构与程序的关系 (7)五、系统出错处理设计 (7)5.1、出错信息 (7)5.2、补救措施 (8)5.3、系统维护设计 (8)一、引言学习安卓已经有了一段时间,对Android开发平台也有了基本的认识。

阅读了一些相关资料之后,我们开始了Android音乐播放器概要设计。

从该阶段正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的结构。

本说明书主要分为任务概述、总体结构、外部模块设计和测试设计。

1.1、编写目的本文档主要是逗逗音乐播放器的概要设计说明书,为逗逗音乐播放器的一些基本功能设计的主要依据。

随着多媒体手机的不断发展,音乐已成为当今时代人们缓解压力的不二选择,功能也不断的多样化,而概要设计正是体现出音乐播放器的基本概念。

该文档是整个播放器最雏形,同时也是最基本的引导性文档。

1.2、背景(1)项目名称:逗逗音乐播放器(2)项目负责人:尧艳华(3)开发者:个人完成(4)适用用户:所有Android手机用户伴随着Android平台的出现,Android平台下手机多媒体技术应用更为凸显。

Android平台是google公司最新推出的一个手机平台,该平台对移动设备的程序集中包括一个操作系统,一个中间件和一些关键性作用。

使用该平台不需要任何费用,代码完全开放。

开发人员可以在平台系统上快速开发,并可以利用其它开发人员的工作成果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

生产实习报告题目:音乐播放器学生姓名:张凡学号: 201220220123 班级: 1222201 专业:数字媒体技术指导教师:张金2015年08 月08日目录一、引言 (3)1.1 项目背景 (3)1.2 项目研究的目的 (4)1.3 安卓简介 (4)二.功能分析 (5)2.1 功能需求分析 (5)2.2 系统性能需求 (6)2.3 运行环境需求 (6)三.程序详细设计 (6)3.1 主界面的设计 (6)3.2 播放界面设计 (11)3.3 其他功能 (14)四.调试与运行 (18)4.1 调试 (18)4.2 运行结果 (19)五.总结 (21)一、引言1.1 项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。

那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。

本文的音乐播放器就是基于谷歌Android手机平台的播放器。

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。

于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。

针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。

此外,还能支持中文、英文等语言界面。

1.2 项目研究的目的1.熟悉一下eclipse工具和安卓的环境配置及开发的过程;2.熟练掌握java的组件如button,textview,listView,menu等组件的灵活应用;3.熟练掌握安卓的一个关于数据保存的方式SQLite3;4.锻炼一下自己遇到问题,然后解决问题的能力。

1.3 安卓简介1.3.1 Android特征1.提供访问硬件的API函数,简化像摄像头、GPS等硬件的访问过程具有自己的运行时和虚拟机2.提供丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性3.提供轻量级的进程间通讯机制Intent,使跨进程组件通信和发送系统级广播成为可能4.提供了Service作为无用户界面,长时间后台运行的组件5.支持高效、快速的数据存储方式1.3.2 Android应用程序框架提供Android平台基本的管理功能和组件重用机制:Activity Manager,管理应用程序的生命周期Windows Manager,启动应用程序的窗体Content Provider,共享私有数据,实现跨进程的数据访问Package Manager,管理安装在Android系统内的应用程序Teleghony Manager,管理与拨打和接听电话的相关功能二.功能分析2.1 功能需求分析根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。

下面图2-1是音乐播放器的基本用例图,描述了程序的基本功能2.2 系统性能需求根据Android手机系统要求无响应时间为5秒,所以就有如下性能要求:(1)当要求歌曲播放时,程序响应时间最长不能超过5秒(2)当要求歌曲暂停时,程序响应时间最长不能超过5秒(3)当要求歌曲停止时,程序响应时间最长不能超过5秒(4)当要求歌曲上/下一首时,程序响应时间最长不能超过5秒(5)当要求进行清单列表时,程序响应时间最长不能超过5秒2.3 运行环境需求操作系统:Android手机基于Linux操作系统支持环境:Android 1.5 - 4.2.2版本开发环境:Eclipse 3.5 ADT 21三.程序详细设计3.1 主界面的设计●主界面包含本地列表获取、我的收藏、在线音乐及正在播放等各个功能的切换。

首先为我们出现的是音乐列表的获取。

●Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户。

当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中。

在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了。

MediaStore中定义了一系列的数据表格,通过ContentResolver提供的查询接口,我们可以得到各种需要的信息;其主要方法如下:●创建ArrayList<>存储音乐列表;●用Cursor query(Uri uri, String[] projection, Stringselection, String[] selectionArgs, String sortOrder);来获取手机上的音乐;●用MediaStore.Audio.Media.XXX(XXX可以是ALBUM,SIZE,DURATION等信息)来获取音乐相关信息;生成音乐列表。

关键代码:public class MusicList {public static ArrayList<Music> getMusicData(Context context) {ArrayList<Music> musicList = new ArrayList<Music>();ContentResolver cr = context.getContentResolver();if (cr != null) {// 获取所有歌曲Cursor cursor = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null,null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);if (null == cursor) {return null;}if (cursor.moveToFirst()) {do {Music m = new Music();String title = cursor.getString(cursor .getColumnInd ex(MediaStore.Audio.Media.TITLE));String singer = cursor.getString(cursor.getColumnInd ex(MediaStore.Audio.Media.ARTIST));if ("<unknown>".equals(singer)) {singer = "未知艺术家";}String album = cursor.getString(cursor.getColumnInd ex(MediaStore.Audio.Media.ALBUM));long size = cursor.getLong(cursor.getColumnInd ex(MediaStore.Audio.Media.SIZE));long time = cursor.getLong(cursor.getColumnInd ex(MediaStore.Audio.Media.DURATION));String url = cursor.getString(cursor.getColumnInd ex(MediaStore.Audio.Media.DAT A));String name = cursor.getString(cursor.getColumnInd ex(MediaStore.Audio.Media.DISPLAY_NAME));String sbr = name.substring(name.length() - 3, name.length());if (sbr.equals("mp3")) {m.setTitle(title);m.setSinger(singer);m.setAlbum(album);m.setSize(size);m.setTime(time);m.setUrl(url);m.setName(name);musicList.ad d(m);}} while (cursor.moveToNext());}if (cursor != null) {cursor.close();}}return musicList;}}主界面的模拟器效果图3.2 播放界面设计播放界面是播放器的核心所在,它需要实现播放器的其本功能(播放、暂停、上一曲、下一曲、声音控制、播放方式等)。

首先,我们需要实现其播放/暂停功能。

private void play() {if (mp != null) {mp.start();}flag = 1;} //播放歌曲private void pause() {if (mp != null) {mp.pause();}flag = 1;}//暂停歌曲上/下一曲功能的实现:private void lastOne() {ShowNotifcation();if (_ids.length == 1) {position = position;} else if (position == 0) {position = _ids.length - 1;} else if (position > 0){position--;} //上一曲private void nextOne() {ShowNotifcation();if (_ids.length == 1|| PlayMusicActivity.loop_flag == PlayMusicActivity.LOOP_ONE) {position = position;}else if (PlayMusicActivity.loop_flag == PlayMusicActivity.LOOP_ALL) {if (PlayMusicActivity.random_flag == true) {// 获得随机位置int i = getRandomPostion(true);if (i == -1) {stop();return;} else {position = i;}} else {if (position == _ids.length - 1) {position = 0;} else if (position < _ids.length - 1) {position++;}}} else if (PlayMusicActivity.loop_flag == PlayMusicActivity.LOOP_NONE) {if (PlayMusicActivity.random_flag == true) {//int i = getRandomPostion(false);if (i == -1) {stop();return;} else {position = i;}} else {if (position == _ids.length - 1) {stop();return;} else if (position < _ids.length - 1) {position++;}}} //下一首接着就是声音的控制,声音的控制是通过一根进度条来实现,其主要代码如下:private OnSeekBarChangeListener seekBarChangeListener = new OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {if (seekBar.getId() == R.id.sb_player_voice) {// 设置音量am.setStreamV olume(AudioManager.STREAM_MUSIC,progress, 0);}}@Overridepublic void onStartTrackingTouch(SeekBar arg0) {}@Overridepublic void onStopTrackingTouch(SeekBar arg0) {}最后,要实现播放方式,主要有两种方式,随即和顺序。

相关文档
最新文档