




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
盐城师范学院毕业设计盐 城 师 范 学 院毕业设计基于Android的手机音乐播放器的设计与实现学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(1) 学 号 指导教师 2016年 5月 16日基于Android的手机音乐播放器的设计与实现摘 要在我们的信息科技大时代背景下手机已经成为人们生活中的必需品,本课题是在安卓的平台下进行手机音乐播放器的设计以及实现。现在的音频格式越渐多了起来,比如我们常见的音频WMA和MP3,为了能够播放这些格式的音频可扩展性是十分重要的一个特性,Android平台是一个开放性的平台,代码是开放给大众使用的,为播放器各种功能的添加和实现提供了很大的便利,也能更好的定义手机功能。文中会对播放器功能进行需求分析,确保用户对该播放器的理解和使用,实现播放器具有的一系列功能。具体的功能有:音乐的播放、暂停、进度条的控制、歌曲时间的显示、下一首歌曲、上一首歌曲、歌曲的循环,歌曲专辑列表,艺术家列表以及歌词的显示,主要采用了Intent来进行各个界面的切换和广播机制来控制歌曲进度以及自动检测一首歌曲完成后自动进入下一曲的播放,并且对多个按钮进行监听来同步用户对播放器的操作,歌词主要采用了画布的效果使其动态显示,最后对所做的系统进行各个功能的测试和验证。【关键词】 Android平台;手机音乐播放器;扩展性全套设计加扣 3012250582The Design And Implementation Of Mobile Phone Music Player Based On AndroidAbstractMobile phone has become a necessity in peoples life in the background of our information technology. This topic is the design and implementation of mobile music player on the platform of Android.Now the audio format is getting more and more, for example, our common audio WMA and MP3, in order to be able to play these formats of audio scalability is a very important feature, android platform is an open platform, the code is open to the public to use, to provide a great convenience for the player to add and achieve a variety of functions, and it also can better define the mobile phone function.In this paper, the function of the player needs analysis, to ensure that users understand and use the player, at the same time the player has to achieve a series of functions. Specific functions include: the music play, pause, the progress bar control, songs of time display,next song, previous song, song cycles, song album list, the list of artists and display of lyrics, Mainly with the intent to each interface switching and broadcast mechanisms to control the progress of the song and automatically detect automatically the next song , after the completion of intercepting and multiple button synchronous users to the operation of the player,the lyrics mainly adopts the canvas effect makes the dynamic display,finally made to the system to test and validate each function.Key words Android platform; Mobile music player; Expansibility目 录1 引 言11.1 课题背景11.2 研究意义11.3 课题目标12 系统分析22.1 可行性分析22.2 系统需求分析22.3关键技术分析32.3.1 Android Features特性32.3.2 Android的四大组件32.3.3 Android的五大布局53 系统功能的总体设计63.1 系统介绍63.2 系统功能结构73.3 软件目标84系统功能的具体实现84.1 播放器主界面显示模块94.2 播放列表显示模块104.3 音乐专辑模块114.4 音乐艺术家模块124.5 音乐播放模块134.6 歌词的同步显示154.7 重力传感控制歌曲155 系统测试165.1 软件测试的意义165.2 系统测试计划165.2.1 计划目标165.2.2 测试方法175.2.3 风险和应对方案176 结 束 语18参考文献20致 谢211 引 言1.1 课题背景现今社会生活充满了紧张和各种压力,而欣赏音乐是我们能够舒缓压力的方式之一。现在的网络上实现了各种基于Android平台下的音频资源的分享,可以下载我们喜欢的音乐。Android系统是Google和它的开发联盟一起合作为移动的终端服务的开放性的移动平台软件。那么我们想要在手机上拥有一个自己编写的音乐播放器是完全可以实现的。由于源代码开放是谷歌的Android系统的一大特性,软件制作人可以按着自己需要的功能要求来对程序进行新的编写,设计出自己想要的播放器模型。现在市场上呈现的各种手机播放器的种类比较多,可是有些播放器重点追求外型的花哨与众不同、功能庞大繁多,这样将会对手机的资源造成了很多的浪费,甚至会出现手机死机、卡屏的状况而让播放器崩溃异常退出,使得用户在操作多个手机任务时,受到了很大影响,以及运行的不便,对于大多数的普通用户来说,也许其中的许多功能是很少使用甚至就是不用的。本文开发的音乐播放器功能实用、操作简单让用户一目了然很容易上手,不会造成手机资源的浪费,界面清新雅致不繁杂给人以清晰舒适的感受。1.2 研究意义音乐播放器其本身最主要的功能就是可以进行歌曲的播放和歌曲之间相互的切换。音乐艺术总是能给人带来异样的惊喜和享受,众所周知歌曲的魅力在于它可以改变人们的心情状态,甚至会让人在歌曲中受到一些启发和共鸣。一首励志的歌曲可以让消极的情绪得到缓解让人重拾信心,一首舒缓悠扬的歌曲可以让紧张的心情得到平复,一首气势恢宏的交响乐可以震撼我们的心灵。音乐的魅力就像空气一样充盈着我们的生活当中。让我们充分感受到音乐播放器不仅可以播放音乐,也是丰硕我们的日常生活和调整我们情绪以及心态的好帮手。1.3 课题目标本课题的目标主要是在安卓开放平台下能够将手机中的歌曲数据读取出来并且将歌曲的歌曲名、演唱者和专辑的名称分别展现在音乐、艺术家和专辑的列表当中;实现歌曲的播放和暂停、上一首歌曲的播放、下一首歌曲的播放以及循环模式和歌词同步显示的功能。在系统的设计过程中要对播放器有所了解和合理的规划布局,结合Android的相关知识和技术在明确需求分析的基础上开发出一款简约实用的播发器。2 系统分析2.1 可行性分析我们要对一个项目进行开发的时候,首先要对我们即将开发的系统来进行可行性分析,从而得出这个项目是否值得我们花时间、资源去开发它。如果这个项目不能够达到我们的预期效果或者在开发的过程中十分浪费时间和资源那么我们就要想出合理的解决方案。Android是一个开放的平台所以在经济方面是完全可行的,而且它的可扩展性也是十分强大的在技术上我们有了更加广阔的发展空间,我们可以在开发中实现自己喜欢的元素以及一些额外的辅助功能,让我们在使用的时候更加的人性化和合理化,操作简单、流畅。2.2 系统需求分析一个系统的实现它的需求分析是最重要的也是最基础的,假如在开发前期如果对于软件的需求不明确导致在开发过程中出现错误,那么可能修改这个错误的时间不会太多但是要是在软件的后期发现了错误那么修改的时间将可能要比当初开发这个软件的时间还要多甚至有可能导致软件的直接淘汰,那将会对最终的成果造成很大的风险以及经济上的损失。本系统主界面主要分成3部分包括音乐曲目列表、歌曲演唱者对应列表和每首歌曲所属专辑列表让用户对歌曲有醒目的了解和选择,在各列表中都可以选择歌曲进入播放界面,此界面有多个选择按钮供用户进行歌曲的控制,同时还要在播放界面中央动态显示当前的歌曲歌词,如果用户在播放过程中按了返回键则会转到之前的歌曲列表,同样可以在列表左上方选择后退按钮则会重新返回当前歌曲的播放界面。本系统主要采取面向用户体验的界面设计,通过考虑界面的提供者(开发者)和界面的接受者(用户)之间的交互与体验感受.其核心就是在界面设计的过程中要时刻以用户为主,在系统设计与测试的过程中让用户参与其中,达到及时获得用户反馈的信息,然后根据用户的需求和反馈的信息来不断地更新和改进当前的设计,直到可以满足用户的体验需求1。界面开发者和用户关系如图2-1所示:图2-1 界面开发者和用户关系图2.3关键技术分析2.3.1 Android Features特性对于初学者而言要从整体上了解编程框架的构成,首先必须学习它的基本概念和特性,安卓的特性主要有以下几个:(1) 拥有可以重用和支撑各组件之间的替换的应用程序结构框架。(2) 可以为移动设备进行优化的Dalvik虚拟机。(3) 基于WebKit的开源引擎(集成浏览器)。(4) 拥有自主研发的2D图形库和以OpenGLES 为基本的3D优化的图形处理库。(5) 对通用的视频、音频,和常见的图像格式(MP3,MPEG4, AAC, H.264, AMR, JPG, PNG, GIF)的多媒体支撑。(6) 蓝牙, EDGE, 3G,4G 和WiFi (依附硬件支持)。(7) 依附硬件支持的照相机,GPS,加速感应器 和指南针。(8) 丰富的开发环境可以接受各类调试工具和开发插件的添加以及虚拟机来形象的展现软件的实现 。2.3.2 Android的四大组件Android的四个基本组件各自就是一个视图,这里面Activity2和Content Provider是可见的而Service和Broadcast Receiver是处在后台运作的是不可见的视图3。以下我们将对四大基本组件进行划分介绍:(1)Activity在Android程序和用户之间的交互中,activity提供可视化的程序界面,一个Android软件是由多个activity构成的,最终会以栈(后进先出LIFO)的形式进行保存,当一个新的Activity运行时,当前正在运行的Activity将会被转移到Activity栈的顶部。此时当前的界面将会被启动的Activity占用,响应界面中所有存在的事件。为了保持各个界面状态的正常运行,需要妥帖管理activity的生命周期。Activity栈如图2-2所示:图2-2 activity活动栈图(2)serviceService是运行在后台的程序,一般不需要与用户进行交互只需要继承service类来实现它的生命周期即可。Service有started(启动)和bound(绑定)两种使用方式,选择started启动服务状态时,它的运行活动会直接执行后台的任务,终止就要使用stopService()方法来停止服务。当采取bindService()方法来开启服务时,服务之间需要彼此通信绑定,只要服务或者调用服务的对象退出停止,那么与它们通信的另一方也会停止当前的操作。在 AndroidManifest.xml文件里可以对 Service 元素的选项做相应的设置,常用的一些设置选项如下图2-3所示:图2-3 service的常用设置图(3)Broadcast Receiver广播接收者,检测接收系统程序中发射出来的广播消息信号,主要在应用中担当全局的监听工具,用来监听和检测整个系统应用中发送出来的广播消息。因此,它能够非常方便地实现系统中不同组件之间的通信。例如Activity要与通过startService()方法启动的Service之间进行通信,就可以注册BroadcastReceiver再在广播中利用Intent的对象来进行信息的传递发送。广播的运行原理如图2-4所示:图2-4 广播运行原理图(4)Content ProviderContentProvider主要用于将数据对外共享为存储和获取数据提供了统一的接口,并且可以将一些特定的应用程序的数据分享给其它的应用程序使用,内容主要包括音频、视频、图片和私人通讯录等。2.3.3 Android的五大布局不同的布局方式显示出不同的界面效果,布局之间也可以相互嵌套使得界面的表现更加灵活也给人以美的享受。(1)FrameLayout(单帧布局):该布局也称为层布局,摆放结构单一,每个控件是不可以随便放置在想要摆放的区域的,它们会被依次在空白的层布局的左上角排放,并且会以重叠的方式放置。(2)LinearLayout(线性布局):可以将该布局的属性设定为垂直(vertical)或水平(horizontal)两个方式。采用垂直布局时,每一行只能摆放一个元素,其他的元素将会依次往下垂直排列;采用水平布局时,整体布局只显示一行,添加的每一个元素将从左向右依次排列。(3)AbsoluteLayout(绝对布局):该布局是采用X和Y分坐标来指定添加的元素的位置,实际开发中很少使用该布局方式。(4)RelativeLayout(相对布局):按照各子元素之间的位置关系来进行布局,具有很强的灵活性,适合在设计复杂的界面中使用。但在指定各元素位置关系的时候,引用的ID要写在引用的前面,要优先被定义,不然将会在引用的布局界面里出现异常。(5)TableLayout(表格布局):每一个表格布局里面由TableRow组成的,各个元素的添加和具体的定义可以在TableRow里面实现。3 系统功能的总体设计3.1 系统介绍该音乐播放器属于最基本的适合大众使用的播放器主要实现了可以将用户歌曲列表中歌曲的正常播放和歌曲的暂停,当用户想听其他歌曲时可进行下一首歌曲以及上一首歌曲的切换,用户也可以通过拖动进度条的操作来控制歌曲的播放进度,在界面中可以获得当前歌曲的音量,拖动音量控制条能够调节音量的大小。当播放一首歌曲的时候系统会主动在手机资源库中对歌曲对应的歌曲名的歌词进行对应匹配处理,能够实现相应时间段和当前播放的歌词同步显示。主要的模块有手机歌曲列表、音乐播放界面、歌曲所属专辑列表和歌曲对应的艺术家列表。打开播放器首先出现的是主界面(选择列表界面)默认显示的是播放列表,当我们选择列表中的一首歌曲后就会进入到播放歌曲的界面,在播放界面可以返回到播放列表界面在返回的界面可以选择后退按钮返回到歌曲的播放界面。除此之外,在主界面还可以选择歌曲所属专辑和艺术家两个选项卡分别进入歌曲专辑列表和歌曲对应的艺术家列表。如果在各个列表中选择返回的话将会直接退出。该播放器可以对电话的的插播进行监听处理还可以对播放器的重力进行感应来控制歌曲的播放状态。为了方便用户也可以选择直接跳转到第一首或最后一首歌曲。该播放器的整体结构如图3-1所示:图3-1播放器的模块图3.2 系统功能结构各模块功能介绍:(1)主界面模块:主界面里包括手机歌曲的列表、歌曲所属专辑列表和歌曲对应的艺术家列表这3个选项,默认显示的是手机中的歌曲的列表。 (2)歌曲列表模块:将手机中存在的歌曲以列表的形式显示在界面上,列表中显示歌曲的名字和歌曲的时长。 (3)播放界面模块:用户在任意列表中选择一首歌曲后系统将会自动转到该歌曲的播放界面,在播放过程中会显示歌曲的名字和对应的演唱家、歌曲的播放时间长度和进度以及该歌曲的歌词,用户也可以进行播放下一首歌曲或者上一首歌曲的操作,若是在听歌的过程中有事要做可以选择歌曲暂停播放。(4)专辑列表模块:选择专辑选项卡会显示手机中每首歌曲的歌曲名称和该歌曲对应的专辑名称。(5)艺术家列表模块:选择艺术家选项卡显示手机中每首歌曲的名称和该歌曲对应的歌唱者名字。其他功能:(1)用户在各个播放模块直接按Home退出系统将会进入后台工作,在播放界面可以返回到歌曲列表选择其他歌曲或者按返回键退回刚才播放的歌曲界面。(2)设置画布动态高亮显示歌词,每句歌词匹配歌曲播放的进度。如果该歌曲没有下载歌词那么屏幕上将会显示没有歌词的提示信息。 (3)此播放器增加了重力传感器4的功能,如果检测到当前播放器的重力发生了改变那么此时播放的歌曲将会转到暂停状态或者将处于暂停状态的歌曲转到播放状态。(4)用户如果在听歌的过程中接受到别人的电话时那么正在播放的歌曲将会自动暂停挂起,用户可以进行电话的接听,当电话插播动作结束后会继续播放当前的音乐。音乐挂起流程如图3-2所示:图3-2音乐挂起图3.3 软件目标一款应用软件的设计和完成中我们要对软件本身做出相应的规划和要求,音乐播放器不但要考虑歌曲的播放应用还要考虑播放过程中怎样更好的体现该播放器的实用和流畅以及使用状态中的种种感受从而能够方便我们对播放器进行更好的优化,为了响应用户的使用需求我们要达到以下目标要求:(1)软件要能够达到人机交互的状态让用户可以对软件进行一系列的操作。(2)系统能够正确的将手机库中的音乐文件进行加载和显示。(3)每个操作的实现要控制在5秒之内实现。(4)当用户按Home键直接退出当前程序时,我们的播放器可以在后台继续工作。(5)系统能够最大限度地将该系统的易维护性以及易操作性得到实现。 4系统功能的具体实现4.1播放器主界面显示模块播放器主界面主要是由音乐、专辑、艺术家这3个模块组合形成的,用户可以通过选择最下方的3个选项卡来控制进入想要播放的界面,该播放器默认显示的是手机歌曲列表模块。(1)界面布局:该界面是由TabHost组件进行布局的,该组件可以将多个选项放置在一起,通过TabWidget组件来控制选项处在界面的底部。(2)代码实现:在代码的编写当中通过newTabSpec(String tag)和addTab(tabSpec)来创建选项和添加选项,主界面的MainActivity7 要继承TabActivity6。播放器主界面如图4-1所示:图 4-1播放器主界面图主要代码如下:/音乐、艺术家和所属专辑的选项卡的获取方式一样这里列举音乐选项的获得过程。TabSpec tabSpecYy=tabHost.newTabSpec(yy).setContent(intentYy);/设置选项卡的标题和展现的标识图。tabSpecYy.setIndicator(音乐,getResources().getDrawable(R.drawable.yy);/增加音乐选项。tabHost.addTab(tabSpecYy); 4.2播放列表显示模块播放列表模块可以实现从用户的手机库中将所有存在的音乐文件读取出来导入到播放器当中,然后在播放列表界面的每个item上显示出歌曲的名称,演唱的艺术家名以及歌曲的播放时间。(1)界面布局:该界面的布局是由3个LinearLayout构成的第一个LinearLayout里面放ImageView组件显示一个音乐图片,第二个LinearLayout是由2个TextView组件构成的一个文本显示歌曲的名称一个文本显示艺术家的名字(垂直显示),最后一个LinearLayout也是由一个TextView构成来显示歌曲的播放时间。具体形式如下:/每行item格式采用水平的方式 (2)代码实现:我们要读取手机库中的歌曲文件就需要实现一个Adapter类来把数据绑定到我们指定的View上,然后返回该View,该View就是ListView当中的某一行的item,它是由Adapter中的getView方法来进行返回的,我们得到的数据就是用来一行一行显示在ListView列表当中的,获取歌曲数据的MusicAdapter需要继承BaseAdapter。播放列表界面如图4-2所示:图4-2播放器列表显示界面图主要代码有:myLV= (ListView) this.findViewById(R.id.listAllYy);/将获取到的所有的音乐的数据和列表想结合。List myLV =YyList.getMusicData(getApplicationContext();YyAdapter adp=new YyAdapter(this, listYy);/创建出数据加载对象myLV.setAdapter(adp);/将从适配器中得到的数据添加到音乐列表4.3音乐专辑模块该模块主要显示歌曲列表中所有的歌曲所属的专辑,每个item中上层显示专辑名下层显示歌曲的名称,如果有的歌曲没有查找到专辑名那么将会用“未知”或者该歌曲所处的文件夹名来取代它的专辑名,当选择该列表的歌曲系统可自动切换到歌曲播放界面播放选中的歌曲。实现过程主要是在专辑选项运行界面中将专辑中获取到的数据装载到albumListView中,对albumListView对象进行监听器的绑定,检测选中的歌曲名通过intent的传递触发当前选中的歌曲的播放。专辑显示界面如图4-3所示: 图4-3专辑显示界面图4.4音乐艺术家模块艺术家模块与专辑模块很相似主要就是将每首歌曲所属的艺术家的名字显示在列表中,在xml文件中是采用ListView来布局的,展现方式是水平的,每个item也是从艺术家的adapter中获得数据的,通过setText()来设置获得的具体艺术家名称和歌曲的曲目在列表中以行的形式依次排列,如果没有查找到当前歌曲的艺术家名那么将会以未知艺术家的格式来命名这首歌曲所属的艺术家,当选择(点击)该列表的歌曲系统可自动切换到播放界面播放当前选中的歌曲。主要实现过程及操作与专辑列表相似,获取的数据不同。艺术家显示界面如图4-4所示:图4-4艺术家显示界面图4.5音乐播放模块当用户在播放列表中任意选择一首歌曲后系统将会进入播放歌曲的界面,该界面最上显示的是歌曲的名称和艺术家的名字以及当前播放器的音量,在界面最下方摆放的是上一首、下一首、暂停(播放)按钮的选择。进度条主要用来显示歌曲的播放进度和播放时间的计数,用户通过拖动进度条上的小图标能够将歌曲的播放进度进行调整和控制。此外,用户还能够转换歌曲的播放模式。当歌曲播放中途有电话呼叫时音乐将会转到后台运行并且歌曲会自动切换到暂停状态。如果当前播放的歌曲有相应的歌词匹配那么播放界面中央将会动态的显示出歌曲正在唱的歌词。(1)布局设置:播放界面采用了RelativeLayout的相对布局方式以便调整和控制按钮之间的位置。(2)代码要求:歌曲正确播放需要实例化Adapter并且通过setListAdapte(adapter)设置adapter来绑定数据,我们还要使用getListView()方法来获得ListView对象这样才能得到歌曲的信息,播放PlayActivity要实现多个监听器操作并且通过广播机制来控制seekbar。播放初期可以通过AudioManager来获得系统服务中当前的音量的大小。电话插播时将调用onCallStateChanged(int state, String incomingNumber)方法来判断来电状态。音乐播放的流程图如图4-5所示:图 4-5播放流程图音乐播放界面如图4-6所示:图 4-6音乐播放界面图主要代码有:/对电话状态监听TelephonyManager.CALL_STATE_IDLE: / 没有电话插播intent.putExtra(play, yyplaying);TelephonyManager.CALL_STATE_OFFHOOK: /接起电话TelephonyManager.CALL_STATE_RINGING: /有电话插播intent2.putExtra(play, yypause);/当拖动进度条手指停止松开获得当前的进度位置public void onStopTrackingTouch(Mseek mseek) mseek.setProgress(mseek.getProgress();intent.putExtra(mseek , mseek.getProgress();sendBroadcast(intent);/歌曲的转换int id=MusicService._id-1; / 前一首int id=MusicService._id+1; / 下一首4.6歌词的同步显示在听歌的过程中用户可能会想学唱听到的某些歌曲,这时歌曲在播放的过程中结合歌词的显示可以帮助用户又好又快地学会想唱的歌曲。该播放器通过采用onDraw(Canvas canvas)6的方法对画布的做出效果设置来实现歌词滚动显示。通过歌曲每句歌词歌唱的时间截取进行计算后将每句歌词与歌曲的播放进度相匹配,展示同步播放的效果并且将当前唱到的歌词以高亮放大的形式显示在屏幕上。4.7重力传感控制歌曲重力传感器,顾名思义就是通过改变当前播放器的重力(这里我们主要通过改变播放器所处的高度)来实现控制当前音乐的播放和暂停。具体的实现要采用onSensorChanged4方法来获得手机当前传感器的状态。在播放器中加入此功能可以在用户手上沾有液体不方便的时候只需摇一摇手机就可以轻松控制音乐的播放状态。在手机游戏中也有专门靠重力传感来进行游戏操作控制的,例如:地铁跑酷和神庙逃亡这两款手机游戏就是通过改变重力(摇摆手机)来控制游戏人物的奔跑方向的。我们的播放器重力传感也是采用的同样方法来实现歌曲状态控制的。5 系统测试5.1 软件测试的意义当一个系统开发完成时一般我们认为它是能够满足用户的需求的并且基本的功能都能够实现,但是一个软件不可能是完美的或多或少都会存在一些缺陷的,所以在开发完成的基础上我们还需要对软件进行测试,从而提高软件的质量,尽可能多的发现缺陷并将它们修复。在测试的过程中我们要根据软件的需求来细化需求点,然后制定测试计划和测试的方案最后来编写测试用例,将用例中发现的缺陷整合(缺陷报告)再让开发人员来进行修复。有时候一个Bug的修复也会引起一些其它的Bug的出现,所以对一个软件我们要进行多次反复的测试。5.2 系统测试计划5.2.1 计划目标(1)测试的需求要进行标记。(2)合理的规划和分配我们的时间和资源。(3)对测试的进度要做好安排。(4)指定测试的启动和停止的准则。(5)确保测试输出的系统是可用的。5.2.2 测试方法该播放器主要是对播放各功能的实现,对功能测试选用黑盒测试8的方法,一般就是手工测试验证各个功能模块是否实现,对于性能方面主要测试软件的响应时间和各资源的利用率。5.2.3 风险和应对方案测试人员中途有事使得测试暂停,要根据进度重新安排。当软件的需求有变更或者开发中对需求的理解产生错误时要有相对的缓冲时间对项目进行修改。5.3 系统测试方案测试方案主要是对被测试的对象进行测试设计,对播放流程主要有场景分析法、流程图法,歌曲名的有效判断有等价类的划分(特殊字符、字符长度)和边界值,当系统发生错误时一般采用错误分析法。5.4 系统测试用例系统测试用例如表5-1所示:表5-1 系统测试用例表用例编号用例说明预置条件操作步骤预期结果主界面-001主界面有音乐、专辑、艺术家3个选项播放器可运行点击播放器图标有音乐、专辑、艺术家3个选项主界面-002主界面的音乐、专辑、艺术家3个选项可以选择进入到播放器主界面点击音乐、专辑、艺术家3个选项卡音乐、专辑、艺术家3个选项可以切换到各自列表播放列表-001列出手机中歌曲的歌曲名,艺术家和歌曲时间选中播放列表并且手机中有歌曲点击播放器图标正确显示歌曲列表信息播放界面-001歌曲可以进行播放有歌曲存在选中一首歌曲此歌曲在播放界面可以播放播放界面-002歌曲转换到下一首1处在在播放界面2有多首歌曲选中下一首按钮能够进行下一首歌曲的转换播放界面-003歌曲转换到上一首1处在在播放界面2存在多首歌曲选中上一首按钮能够进行上一首歌曲的转换播放界面-004歌曲的暂停1处在播放界面2有歌曲正在播放选中暂停按钮歌曲暂停在当前播放位置播放界面-005歌曲的继续播放歌曲处在暂停状态选中播放按钮歌曲在解除当前暂停状态继续播放播放界面-006改变歌曲进度条当前比例控制进度歌曲处在播放状态拖动进度条歌曲在进度条停止改变的位置继续播放专辑列表-001显示歌曲所属专辑的名称在播放器主界面在主界面选择专辑选项可以显示歌曲的专辑艺术家列表-001显示歌曲的演唱者的名字在播放器主界面在主界面选择艺术家选项可以显示艺术家的名字续表5-1歌词显示-001歌词信息同步动态显示1在播放界面2有歌曲和对应的歌词文件挑选一首歌曲播放在播放界面同步动态显示歌曲的歌词重力传感-001重力控制歌曲状态有歌曲选择一首歌曲重力改变可以控制歌曲状态5.5系统测试总结在对本软件进行测试的过程中让我们对需求的理解更加清晰,也让我们在对播放器的各个功能模块进行了有效的测试确保了软件的质量,对发现的一些缺陷进行了改良,例如在播放界面有的歌曲名太长不能够完全显示出来,我们通过将歌曲名的显示格式改为了平滑滚动的形式从而让歌曲名完整显示。由此可见,测试可以让我们的软件最终呈现出更好的效果让用户来使用。6 结 束 语通过在Android
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北宜昌市点军区招聘社区专职人员(网格员)6人模拟试卷及答案详解(新)
- 2025黑龙江绥化海伦市各乡镇民政服务站招聘46人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025广西防城港市中小学教师招聘501人考前自测高频考点模拟试题及完整答案详解1套
- 2025黑龙江齐齐哈尔市富裕县富海镇招聘公益性岗位人员2人模拟试卷及答案详解(全优)
- 2025年广东广州市海珠区委统战部招聘雇员1人模拟试卷带答案详解
- 2025海南昌江黎族自治县公办幼儿园保育员考核招聘23人模拟试卷及参考答案详解一套
- 2025广东广州市越秀区华乐街道办事处招聘合同制工作人员1人考前自测高频考点模拟试题及参考答案详解1套
- 2025年阜阳临泉县陶老乡村干部招聘5人模拟试卷及1套参考答案详解
- 2025年武汉农村商业银行股份有限公司招聘77人模拟试卷及答案详解(有一套)
- 2025湖南省儿童医院高层次人才公开招聘16人考前自测高频考点模拟试题附答案详解(完整版)
- 旅游项目可行性分析报告
- 保险业务员述职报告
- 中心静脉深静脉导管维护操作评分标准
- 导尿术操作护理课件
- 推进班组信息化建设:利用信息技术提高工作效率
- 2023年上海市虹口区初三一模语文试卷(含答案)
- 优势视角课件完整版
- 花城版音乐课时15-第12课 走近戏曲(一)观赏京剧学习念白-京剧丑角的念白《报灯名》-课件
- 《食品安全法》与粮食质量安全专题培训课件
- 2023年安康市交通建设投资集团有限公司招聘笔试题库及答案解析
- 文理分科心理测试问卷
评论
0/150
提交评论