iOS音乐播放器毕业设计_第1页
iOS音乐播放器毕业设计_第2页
iOS音乐播放器毕业设计_第3页
iOS音乐播放器毕业设计_第4页
iOS音乐播放器毕业设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

唐山学院毕业设计11引言11选题背景随着智能手机的大众化,越来越多的人应用智能手机。相对的对手机软件的需求也就越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求越来越高1。手机的一个重要的功能就是听音乐,一款好的手机音乐播放器可以更好的体现智能手机的强大。目前中国音乐播放器行业已经具备了相当的规模,并在国际市场上已有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于IOS的手机软件需求量也就相应的越来越强。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求,例如酷我音乐、酷狗音乐、百度音乐、QQ音乐等等这些大家所熟知的音乐播放器已经在苹果软件中占据了一定的地位。智能手机的应用使现代人的生活更加的方便。伴随着苹果手机进入中国市场,相应的IOS技术逐渐流行起来。而对于开发苹果应用的语言OBJECTC,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象2。对于其他的开发语言,例如JAVA、JAVASCRIPE,OBJECTC以其强大的优势遥遥领先于这些其他的编程语言。本人根据当前的形式,决定引用这种这种技术来开发手机应用。12设计目的及意义听音乐已经成为当今社会,人们必不可少的一项娱乐活动。根据调查所得信息,本人发现最近智能手机用户对较大的音乐播放器应用的喜爱度明显下滑,而相对的那些小巧的音乐播放器反而被越来越多的用户下载使用。苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于IOS的音乐播放器会很容易得到用户的青睐。同时本人从去年开始接触IOS,在学习了几个月后,对IOS开发有了一些理解,所以对于这次毕业设计,我就选择了基于IOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的IOS开发水平。使自己在以后的社会竞争中更加具有优势。13设计思想和目标设计思想自己的这款音乐播放器设计的过程是按照一般的应用开发流程进行的。自己首先调查了当今社会,人们对音乐播放器的需求,从中得出现阶段手机用户需要的是小巧、方便的音乐播放器。从而决定自己开发一款小巧的音乐播放器。在有了用户的需求后,本人开始开发属于自己的音乐播放器。在真正设计音乐播放器的过程中,本人先决定了音乐播放器的整体框架结构,应用的图片出处等等这些开发必需的部分。于是自己借鉴酷狗音乐的框架,开发一款精简的酷狗音乐播放器。在决定了整体框架后,就是真正的开发了。自己将酷狗音乐中与播放无关的部分删除,只保留他的播放功能,歌词显示功能音乐下载功能等等。下载功能的实现唐山学院毕业设计2本人决定针对这款音乐播放器设计出一个可供下载的网站以及服务器。设计目标虽说这款应用自己不打算上线,但自己依旧打算使其完美。拥有播放器的一般功能,可以根据不同的歌曲显示不同的歌词,进度条根据时间显示播放进度,根据不同的音乐信息进行选择,根据搜索到的歌曲信息,下载自己喜爱的歌曲。在完成这些功能的过程中来巩固自己学到的知识唐山学院毕业设计32应用分析21可行性分析可行性分析也可称为可行性研究,是在网上调查的基础上并辅助其他的信息渠道,针对基于IOS的音乐播放器的开发是否具备必要性和可能性。对新的音乐播放器的开发从技术、操作、经济等不同方面进行分析研究,来保证投资的失误,保证音乐播放器的开发成功。就我们学的的知识知道可行性分析可以在最短的时间内分析出这款基于IOS的音乐播放器是否可以达到预定的效果。(1)经济可行性分析这款基于IOS的音乐播放器的开发是通过苹果系统的XCODE来进行的。虽然本人不可能购买苹果笔记本来开发这款项目,但现阶段人们可以在不同的电脑上运行苹果系统。那就是人们所说的黑苹果,通过一定的技术使非苹果笔记本也可运行苹果系统。开发音乐播放器所需的图片,自己可以不通过专业人士来绘制。自己通过破解现有APPSTORE上的在线应用,来获取自己想要的资源。并且这个过程很是简单,不存在浪费人力物力的现象。所以得出开发一款基于IOS的音乐播放器在经济方面是可行的。(2)技术可行性分析开发基于IOS的音乐播放器运用到的技术是OBJECTC,以及一些IOS开发的UI设计,某些类库的应用等等。就技术方面而言,自己学习IOS技术已经有四五个月的基础了,相对于开发一款音乐播放器而言自己的技术是完全可以胜任的。而自己在黑苹果上装的XCODE完全可以胜任这次开发的需求。从而分析得出开发这款音乐播放器在技术方面是可行的。(3)社会可行性分析开发这款音乐播放器,本人不是为了盈利的目的不会损害到任何人的利益。这款音乐播放器虽有一部分按照酷狗音乐来完成,但自己不会发布出去,所以不会影响到酷狗公司的利益。本人开发这款音乐播放器符合国家的方针政策,不影响任何组织的利益,没有宗教方面的宣传同时不会影响社会稳定。所以可以得出本人开发基于IOS的音乐播放器在社会方面是可行的。所以,综上所述本人的基于IOS的音乐播放器的开发是可行的。22需求分析需求分析指的是在建立一个新的应用的时,就这个新的应用的目的、范围、定义及功能这些方面所要做的工作。需求分析是完成一个应用必不可少的部分。在进行一款项目开发的过程中,开发者必须确定客户的需求,在确定了客户需求后才能进行应用的开发。根据当前社会形势,苹果系统在中国逐渐流行,单单是IOS方面的音乐播放器行业也已经具备了相当的规模3。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求。最新的调查显示比较大的音乐播放器市场,并不是很乐观。而外形新颖、小巧轻便灵活的迷你音乐播放器却很受年轻人的青睐和欢迎。虽然国内的较大的音乐播放器销售状况不是很好,但是迷你音乐播放器却是个例外,市场发展前景不容小觑。基于此,设计音乐播放器重点唐山学院毕业设计4还是在于美观的外形和其吸引人的性能,小体积却可以实现相对更大的功率,新型的迷你音乐播放器要有其他的附加功能,可以更好的吸引用户。23系统开发工具介绍231OBJECTIVEC技术OBJECTC是扩充C的面向对象编程语言。它主要使用于MACOSX和GNUSTEP这两个使用OPENSTEP标准的系统,而在NEXTSTEP和OPENSTEP中它更是基本语言。OBJECTIVEC可以在GCC运作的系统写和编译,因为GCC含OBJECTIVEC的编译器。1980年代初布莱德确斯在其公司STEPSTONE发明OBJECTIVEC。他对软件设计和编程里的真实可用度问题十分关心,目前主要是编写IOS操作系统应用程序的利器。近几年OBJECTIVEC排名大幅提升,它的流行当归功于IPHONE的成功,因为OBJECTIVEC一直被用于编写IPHONE应用程序4。OBJECTIVEC是非常实际的语言。它是一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。OBJC写成的程序通常不会比其原始码大很多。而其函式库亦和SMALLTALK系统要使用极大的内存来开启一个窗口的情况相反。232XCODE开发工具XCODE是开发人员建立基于IOS的应用最快捷的方式。XCODE是苹果公司向开发人员提供的集成开发环境。其运行于苹果公司的MAC操作系统下。不管你用C、C、OBJECTIVEC或JAVA编写程序,在APPLESCRIPT里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现XCODE编译速度极快,每次操作都很快速和轻松5。苹果公司为用户提供了全套免费的COCOA程序开发工具。MACOSX一起发行,在苹果公司官方的网站下载6。233SQLITE简介SQLITE是一款轻型的数据库7。是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持WINDOWS/LINUX/UNIX等等主流的操作系统,同时能够跟很多程序语言相结合,比如TCL、C、PHP、JAVA等,还有ODBC接口,同样比起MYSQL、POSTGRESQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLITE包含在一个相对小的C库中。它是DRICHARDHIPP建立的公有领域项目8。不像常见的客户服务器范例,SQLITE引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性唐山学院毕业设计5上有积极的作用。整个数据库都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。234VISUALSTUDIO简介VISUALSTUDIO是微软公司推出的开发环境。是目前最流行的WINDOWS平台应用程序开发环境。VISUALSTUDIO2010同时带来了NETFRAMEWORK40、MICROSOFTVISUALSTUDIO2010CTP,并且支持开发面向WINDOWS7的应用程序。除了MICROSOFTSQLSERVER,它还支持IBMDB2和ORACLE数据库。VISUALSTUDIO中的编程语言运行于NETFRAMEWORK中。FRAMEWORK有助于基于WEB和WINDOWS的应用程序开发,允许来自不同语言的对象共同运行,并标准化了语言引用数据和对象的方式。VISUALSTUDIONET是微软公司推出的程序开发工作。和以前的VISUALSTUDIO相比,VISUALSTUDIONET是一个质的飞跃。C是VISUALSTUDIONET的重要组成部分。在VISUALSTUDIONET平台上使用C语言可以开发出各种各样的应用程序9。在NET平台中,C语言是一种脚本语言,即简化的C语言。C语言已经通过国际标准组织的认证,成为一种国际标准的计算机语言。NETFRAMEWORK是用于生成、部署和运行应用程序的多语言环境。NETFRAMEWORK通过公共语言运行库、NET框架类库、MICROSOFT中间语言、JIT即时编译等机制生成应用程序。唐山学院毕业设计63应用总体设计在经过可行性分析后本章将主要介绍应用的总体设计。应用所实现的功能的强弱是衡量一款应用的标准。通过对音乐播放器的全面分析并结合调研的情况,得出了这款音乐播放器的结构图与功能模块图。31音乐播放器的功能模块概况根据需求分析的结果得到音乐播放器的基本模块包括以下几个模块(1)我的音乐模块其中主要有本地音乐、我喜欢的音乐、最近播放的音乐的几个部分组成。(2)网络音乐模块该模块主要包括最新、歌单、排行榜、歌手等几部分构成。(3)更多更能模块该模块主要包括换肤、意见反馈、设置及部分构成。根据音乐播放器的功能分析可以画出音乐播放器的功能模块图,如图1所示图1音乐播放器功能模块图32音乐播放器各功能模块介绍各功能模块介绍如下(1)我的音乐模块用户可以通过此模块来播放本地的音乐。具体播放功能包括音乐的演唱、唐山学院毕业设计7歌词的显示、播放进度的显示、歌曲的暂停、播放下一首等功能。用户可以通过本地音乐列表将歌曲存储成我喜欢的音乐,同时在播放的过程中会将播放过的歌曲名存储起来,对用户进行提示。2网络歌曲模块用户可以通过本模块进行选择网络上的音乐信息,同时用户可以将网络上的歌曲下载到本地音乐中进行播放,用户根据不同的歌曲信息进行歌曲搜索,方便了用户的使用。3更多功能模块用户可以通过此模块对本款音乐播放器进行换肤操作,更改本款音乐的皮肤。用户可以通过意见反馈页面来提出自己的意见。相应的设置模块,用户可以进行一些对本应用的操作,使本应用更加适合用户需求。唐山学院毕业设计84音乐播放器详细设计41音乐播放器界面设计(1)我的音乐界面如图41所示图41我的音乐用户可以通过此界面选择不同的信息。点击本地音乐可以进入音乐播放界面,点击我喜欢可以进入我喜欢界面,其中的歌曲是自己从本地音乐界面中选取出来的,而最近播放界面显示用户最近播放的歌曲。此界面部分相关代码如下VOIDVIEWDIDLOADMAINTABLEVIEWARRAYNSMUTABLEARRAYALLOCINITWITHOBJECTS“本地音乐“,“IPOD音乐“,“我喜欢“,“本地收藏“,“网络收藏“,“最近播放“,NILUIVIEWVIUIVIEWALLOCINITWITHFRAMECGRECTMAKE0,0,280,480SELFVIEWADDSUBVIEWVIVISETBACKGROUNDCOLORUICOLORCOLORWITHRED58/2550GREEN58/2550BLUE58/2550ALPHA1LABLEONEUILABELALLOCINITWITHFRAMECGRECTMAKE11,72,25,120LABLEONETEXT“我的音乐“LABLEONEUSERINTERACTIONENABLEDYESLABLEONEHIGHLIGHTEDYESVIADDSUBVIEWLABLEONELABLETWOUILABELALLOCINITWITHFRAMECGRECTMAKE11,14057,25,120LABLETWOTEXT“网络音乐“唐山学院毕业设计9LABLETWOTEXTCOLORUICOLORCOLORWITHRED200/2550GREEN200/2550BLUE200/2550ALPHA1LABLETWOUSERINTERACTIONENABLEDYESVIADDSUBVIEWLABLETWOLABLETHREEUILABELALLOCINITWITHFRAMECGRECTMAKE11,28052,25,120LABLETHREETEXT“更多功能“LABLETHREETEXTCOLORUICOLORCOLORWITHRED200/2550GREEN200/2550BLUE200/2550ALPHA1VIADDSUBVIEWLABLETHREEUITAPGESTURERECOGNIZERTAPGESTUREONEUITAPGESTURERECOGNIZERALLOCINITWITHTARGETSELFACTIONSELECTORCHOSEITLABLEONEADDGESTURERECOGNIZERTAPGESTUREONETAPGESTUREONERELEASE此段代码得到具体含义是,加载初始界面并添加相关的手势来控制MAINTABLEVIEWARRAY显示的内容。随后在加载TABLEVIEW的过程中运行UITABLEVIEW的方法即CELLFORROWATINDEXPATH和DIDSELECTROWATINDEXPATH其中CELLFORROWATINDEXPATH是控制每一个CELL所显示的内容,而DIDSELECTROWATINDEXPATH则是在这些CELL被点中时判断哪个被点中了,要运行什么方法。(2)网络音乐界面如图42所示图42网络音乐界面用户可以从此界面中选择网络相关的音乐。点击歌单会弹出歌单界面,其中是各种流行的单曲。点击排行榜则会弹出当前的流行歌曲排行榜,同样点击歌手则会弹出歌手界面。唐山学院毕业设计10此界面的代码是只要将最初的MAINTABLEVIEWARRAY的显示内容改变了,并通过相应的手势来达到内容的改变。手势方法相关的代码如下VOIDCHOSEITUITAPGESTURERECOGNIZERTAPMAINTABLEVIEWARRAYREMOVEALLOBJECTSCGPOINTPOINTTAPLOCATIONINVIEWSELFVIEWIFCGRECTCONTAINSPOINTLABLEONEFRAME,POINTFLAG0ARRAYREMOVEALLOBJECTSMAINTABLEVIEWARRAYNSMUTABLEARRAYALLOCINITWITHOBJECTS“本地音乐“,“IPOD音乐“,“我喜欢“,“本地收藏“,“网络收藏“,“最近播放“,NILLABLETWOHIGHLIGHTEDNOLABLETHREEHIGHLIGHTEDNOLABLEONEHIGHLIGHTEDYESLABLEONEHIGHLIGHTEDTEXTCOLORUICOLORWHITECOLORSIGNIMAGEFRAMECGRECTMAKE43,68,4,120ELSEIFCGRECTCONTAINSPOINTLABLETWOFRAME,POINTFLAG1ARRAYREMOVEALLOBJECTSMAINTABLEVIEWARRAYNSMUTABLEARRAYALLOCINITWITHOBJECTS“搜索“,“最新“,“歌单“,“排行榜“,“歌手“,“分类“,“电台“,“MV“,NILSIGNIMAGEFRAMECGRECTMAKE43,197,4,120LABLEONEHIGHLIGHTEDNOLABLETHREEHIGHLIGHTEDNOLABLETWOHIGHLIGHTEDYESLABLETWOHIGHLIGHTEDTEXTCOLORUICOLORWHITECOLORELSEFLAG2ARRAYREMOVEALLOBJECTSMAINTABLEVIEWARRAYNSMUTABLEARRAYALLOCINITWITHOBJECTS“仅在WIFI下联网“,“换肤“,“睡眠定时“,“WIFI电脑传歌“,“91助手ITOOLS传歌“,“意见反馈“,“设置“,“应用“,NILSIGNIMAGEFRAMECGRECTMAKE43,332,4,120LABLETWOHIGHLIGHTEDNOLABLEONEHIGHLIGHTEDNOLABLETHREEHIGHLIGHTEDYESLABLETHREEHIGHLIGHTEDTEXTCOLORUICOLORWHITECOLORTABLEVIEWRELOADDATA唐山学院毕业设计11在此方法中不只改变了MAINTABLEVIEWARRAY的内容,同时改变了选中字体的颜色以及未选中字体的颜色。同时SIGNIMAGE的位置也发生相应的改变。3更多功能界面如图43所示图43更多功能界面用户可以在此界面进行播放器的设置,例如点击换肤则会弹出换肤界面,在换肤界面会有三种皮肤供用户选择。点击意见反馈会弹出意见反馈界面,用户可以通过此界面对本应用提出意见,并保存到相应的数据库中。点击设置会进入设置界面用户可以进行相应的操作。此界面的代码也与网络音乐界面的代码相同。这三个界面内容显示在同一个UITABLEVIEW上,其中我的音乐、网络音乐、更多功能是三个UILABLE,即使用来显示文字的。将UILABLE的属性设置为可以与用户交互后点击这三个UILABLE就可达到按钮的效果。将三个点击手势加到这三个UILABLE上,设置运行方法。更改右侧的UITABLEVIEW上显示的内容。同时更改标志图片的位置,是应用显得更加美观。3本地歌曲界面如图44所示唐山学院毕业设计12图44本地歌曲界面用户点击初始界面中的本地歌曲,就会弹出此界面。在这个界面中显示的是存储在本地的歌曲名称。点击任何一个歌曲名字就可进行该歌曲的播放。在下面的播放条中可以显示歌曲的总时间,歌曲名称以及播放歌曲的时间按。同时触动向左滑动的手势,将会显示出歌曲的歌词。点击暂停/开始按钮可是歌曲暂停会继续。点击下一首按钮将播放在本地列表中的下一首歌曲。此界面的相关代码如下VOIDVIEWDIDLOADMUSICPLAYBARUIVIEWALLOCINITWITHFRAMECGRECTMAKE0,410,320,50FAVIEWADDSUBVIEWMUSICPLAYBARIMAGEOFMUSICUIIMAGEVIEWALLOCINITWITHFRAMECGRECTMAKE2,2,46,46IMAGEOFMUSICIMAGEUIIMAGEIMAGENAMEDCURRENTMUSICSMALLIMAGEOFMUSICIMAGEOFMUSICUSERINTERACTIONENABLEDYESMUSICPLAYBARADDSUBVIEWIMAGEOFMUSICSMALLPROGRESSVIEWMYPROGERSSALLOCINITSMALLPROGRESSVIEWFRAMECGRECTMAKE51,42,250,2MUSICPLAYBARADDSUBVIEWSMALLPROGRESSVIEWTOTALTIMEUILABELALLOCINITWITHFRAMECGRECTMAKE51,23,80,20TOTALTIMETEXT“0000“MUSICPLAYBARADDSUBVIEWTOTALTIMEUIVIEWSEPVIEWUIVIEWALLOCINITWITHFRAMECGRECTMAKE90,28,1,10MUSICPLAYBARADDSUBVIEWSEPVIEWSMALLPROGRESSVIEWCURTIMEFRAMECGRECTMAKE100,23,80,20SMALLPROGRESSVIEWCURTIMETEXT“0000“唐山学院毕业设计13MUSICPLAYBARADDSUBVIEWSMALLPROGRESSVIEWCURTIMESTARTBUTTONUIBUTTONBUTTONWITHTYPEUIBUTTONTYPECUSTOMSTARTBUTTONFRAMECGRECTMAKE235,10,20,20STARTBUTTONSETBACKGROUNDIMAGEUIIMAGEIMAGENAMED“PLAYARTICLE_PLAYPNG“FORSTATEUICONTROLSTATENORMALSTARTBUTTONADDTARGETSELFACTIONSELECTORSTARTMUSICFORCONTROLEVENTSUICONTROLEVENTTOUCHUPINSIDEMUSICPLAYBARADDSUBVIEWSTARTBUTTONUIBUTTONNEXTBUTTONUIBUTTONBUTTONWITHTYPEUIBUTTONTYPECUSTOMNEXTBUTTONFRAMECGRECTMAKE275,10,20,20NEXTBUTTONSETBACKGROUNDIMAGEUIIMAGEIMAGENAMED“PLAY_BAR_NEXTPNG“FORSTATEUICONTROLSTATENORMALNEXTBUTTONADDTARGETSELFACTIONSELECTORNEXTMUSICFORCONTROLEVENTSUICONTROLEVENTTOUCHUPINSIDEMUSICPLAYBARADDSUBVIEWNEXTBUTTONMUSICARRAYNSMUTABLEARRAYALLOCINITWITHOBJECTS“一眼万年“,“夜曲“,“最炫民族风“,NILMUSICNAMEARRAYNSARRAYALLOCINITWITHOBJECTS“一眼万年“,“夜曲“,“最炫民族风“,NILCURMUSICNUMBER0FAHEADVIEWUIIMAGEVIEWALLOCINITWITHFRAMECGRECTMAKE0,0,320,44FAHEADVIEWIMAGEUIIMAGEIMAGENAMED“NAVBAR_BG2XPNG“FAHEADVIEWUSERINTERACTIONENABLEDYESFAVIEWADDSUBVIEWFAHEADVIEWFAHEADVIEWRELEASEFARIGHTBUTTONUIBUTTONBUTTONWITHTYPEUIBUTTONTYPECUSTOMFARIGHTBUTTONSETBACKGROUNDIMAGEUIIMAGEIMAGENAMED“NAVMENUICON2XPNG“FORSTATEUICONTROLSTATENORMALFARIGHTBUTTONFRAMECGRECTMAKE5,5,40,30FARIGHTBUTTONADDTARGETSELFACTIONSELECTORCHANGEVIEWFORCONTROLEVENTSUICONTROLEVENTTOUCHUPINSIDEFAHEADVIEWADDSUBVIEWFARIGHTBUTTON;在本段代码中,对界面上添加了音乐播放条,并添加了用来显示总时间以及播放时间的LABLE,在播放条中添加开始(暂停)、下一首按钮。而显示歌曲名的UITABLEVIEW在最初的UITABLEVIEW的DIDSELECTROWATINDEXPATH方法中生成。相应的代码如下IFINDEXPATHROW0UITABLEVIEWLOCALMUSICTABLEVIEWUITABLEVIEWALLOCINITWITHFRAMECGRECTMAKE0,0,320,386LOCALMUSICTABLEVIEWDELEGATESELFLOCALMUSICTABLEVIEWDATASOURCESELF唐山学院毕业设计14TOTALBACKVIEWADDSUBVIEWLOCALMUSICTABLEVIEWWHICHTABLEVIEW4OTHERTABLEVIEWARRAYREMOVEALLOBJECTSOTHERTABLEVIEWARRAYADDOBJECTSFROMARRAYMUSICARRAY其中INDEXPATHROW是判断点击了UITABLEVIEW的哪一行,来进行下一步的操作4我喜欢界面如图45所示图45我喜欢界面用户在本地歌曲界面将某首歌曲设置为我喜欢,则这首歌曲的名字会存储到我喜欢的界面中。5最近播放界面如图46所示图46最近播放界面唐山学院毕业设计15用户点开此界面会显示出用户播放歌曲的历史记录,在不同时间播放了同一首歌曲目录会自动删除较早的记录保留最新的播放记录。此界面的相应代码如下ELSEIFINDEXPATHROW5INTJLASTARRAYCOUNTFAHEADLABLETEXTNSSTRINGSTRINGWITHFORMAT“最近播放D“,JIFJ0UIIMAGEVIEWIMUIIMAGEVIEWALLOCINITWITHFRAMECGRECTMAKE0,0,320,386IMIMAGEUIIMAGEIMAGENAMED“NILLIST_BGPNG“TOTALBACKVIEWADDSUBVIEWIMIMRELEASEELSEUISCROLLVIEWSCUISCROLLVIEWALLOCINITWITHFRAMECGRECTMAKE0,0,320,386SCCONTENTSIZECGSIZEMAKE320,3863FORINTI0IALLTIMETIMEINVALIDATEELSESELFSETPROGRESSTHETIMEHAVERUN/ALLTIMEINTIINTTHETIMEHAVERUN/60INTJINTTHETIMEHAVERUN60CURTIMETEXTNSSTRINGSTRINGWITHFORMAT“02D02D“,I,J其中INIT方法是自动生成本身的元素,在此类中包含了进度条开始的方法,唐山学院毕业设计23进度条暂停的方法,进度条改变的方法,以及向其他的类传输数据的方法,例如传输播放了多长的时间等等。(11)歌词显示界面如图414所示图414歌词显示界面用户可以在播放界面运用手势向左滑动来显示出此页信息,在本页可以显示的歌词可以随着时间的进度来向上翻滚,最上面一行显示的是当前歌曲所唱的语句。歌词界面的代码如下IDINITIFSELFSUPERINITMUSICLICARRAYNSMUTABLEARRAYALLOCINITWITHCAPACITY0TOTALLICARRAYNSMUTABLEARRAYALLOCINITWITHCAPACITY0GETALLOFMUSICLRCNSMUTABLEARRAYALLOCINITWITHCAPACITY0LINEOFMUSICLRC0RETURNSELFVOIDGETTHEMUSICLICSTRNSSTRINGSTRMUSICLICARRAYNSMUTABLEARRAYARRAYWITHARRAYSTRCOMPONENTSSEPARATEDBYCHARACTERSINSETNSCHARACTERSETCHARACTERSETWITHCHARACTERSINSTRING“N“MUSICLICARRAYREMOVEOBJECT“唐山学院毕业设计24FORNSSTRINGSTRINGINMUSICLICARRAYNSMUTABLEARRAYSONNSMUTABLEARRAYALLOCINITWITHCAPACITY0NSARRAYARRSTRINGCOMPONENTSSEPARATEDBYSTRING“NSARRAYNUMARROBJECTATINDEX0COMPONENTSSEPARATEDBYCHARACTERSINSETNSCHARACTERSETCHARACTERSETWITHCHARACTERSINSTRING“CGFLOATNUNUMOBJECTATINDEX0INTEGERVALUE6000NUMOBJECTATINDEX1INTEGERVALUE60NUMOBJECTATINDEX2INTEGERVALUENSSTRINGNUMBERNSSTRINGSTRINGWITHFORMAT“0F“,NU/SONSETOBJECTARROBJECTATINDEX1FORKEYNUMBERSONADDOBJECTNUMBERSONADDOBJECTARROBJECTATINDEX1TOTALLICARRAYADDOBJECTSONFORINTI0ITOTALLICARRAYOBJECTATINDEXIOBJECTATINDEX0DOUBLEVALUERETURNTOTALLICARRAYOBJECTATINDEXIOBJECTATINDEX1RETURNNILNSMUTABLEARRAYGETTHETOTILOFMUSICLRCRETURNGETALLOFMUSICLRCNSINTEGERGETTHENMUBEROFMUSICLRCRETURNLINEOFMUSICLRC本段代码的运行过程是,在歌曲开始进行播放后,将播放的歌曲名传给此唐山学院毕业设计25类,此类从自己相应的地方得到全部的歌词。歌词是以LRC格式存储起来的,歌词类得到全部歌词后,根据自己的相应方法,将全部的歌词分成一句句的显示在相应的UITABLEVIEW上。其中将全部歌词变成一句句的方法是GETTHEMUSICLICSTR。此方法根据得到的歌词格式进行分割字符串,并将每一句以字符串的形式存储到TOTALLICARRAY数组中。42音乐播放器重要代码分析在这款音乐播放器中主要的功能就是播放音乐,本人引用了苹果自带的库AVAUDIOPLAYER来播放歌曲。使用AVAUDIOPLAYER时需要先生成一个对象,并伴随着读取到要播放的歌曲路径。在设置完代理后就可播放歌曲了。AVAUDIOPLAYER提供了类方法DURATION来提取当前播放歌曲的总时长为多少。在这个试图控制器中有个下载完成的方法,并且该视图控制器出卖了此方法。而相对于类HTTPDOWNLOAD他没有下载完成的方法,但他遵守相应的协议,就使他在下载完成后调用下载完成的方法。歌词的显示是通过另外一个类来实现的既是MUSICLIC,在试图控制器中调用该类,将要显示的歌词传给此类并将播放歌曲的时间传给此类。MUSICLIC就可以根据时间的不同来显示不同的歌词。上面说到传递时间给歌词类,其中时间的多少是有进度条类来决定的。MYPROGERSS中有个计时器NSTIMER,通过他来计算时间的多少,在计时器运行的同时会调用计时器所启动的方法改变进度条的显示。进度条类从主视图控制器中获取歌曲的总时间,来决定进度条总共代表了多长的时间。进度条中有进度条开始,进度条继续的方法保证了在点击开始按钮或暂停按钮的时候进度条正常显示。唐山学院毕业设计265数据库设计51数据库需求分析进行需求分析是设计数据库的起点,分析结果能否准确反映用户的实际需求,将直接影响到后面各个阶段的设计价值以及影响到设计结果的合理性和实用性的高低。在设计数据库结构时,应尽可能地满足用户所提出的各项要求,同时又要避免冗余数据产生11。由于此次本人设计的是一款音乐播放器,其中有与网络相的部分。本人通过对现有的音乐播放器抓取数据,只能得到其中一些表面的数据无法得到其中歌曲具体的内容,以致不能实现。所以本人就设计一个可供自己下载歌曲的服务器,并且保存用户的反馈意见。在定义的数据库DBMDB中,建立如下记录表1歌曲信息表,包含歌曲的名称、存储地址、歌曲格式;2歌词信息表,包含歌词名称和存储地址;3用户信息表,包含用户ID、用户名、用户密码以及反馈意见的具体内容;4历史信息表,包含歌曲名称、播放时间;5反馈意见表,包含用户ID、用户名、反馈意见;52数据库概念结构设计(1)各个实体的ER图实体联系模型主要是由实体、属性以及实体之间的联系组成12。通过对现实世界的概念模型的抽象,确立实体为歌曲、歌词、用户。根据音乐播放器的功能需求的分析结果,得出数据库的ER图如下所示图51歌曲ER图唐山学院毕业设计27图52歌词ER图图53用户ER图图54播放歌曲ER图图55反馈意见ER图53数据库逻辑结构设计根据数据字典中的数据存储、数据流、处理逻辑、实体的属性及以上数据库设计中的概念结构设计模型,建立相关表进而得到数据库的逻辑结构设计,即数据库表。歌曲信息表歌曲名称、存储位置、歌曲格式唐山学院毕业设计28歌词信息表歌曲名称、存储位置用户信息表(用户编号、用户名称、用户密码、反馈意见)播放歌曲信息表(播放歌曲时间、播放歌曲名称)反馈意见信息表(用户ID、用户名称、反馈意见)进行数据库的详细设计,其基本表的设计如下(1)歌曲信息表歌曲信息表用来存储歌曲的信息,结构如下表56歌曲信息表名称数据类型字段大小备注是否为空说明SONGNAMEVARCHAR50主键NOTNULL歌曲名称STOREPLACEVARCHARMAXNOTNULL存储地址STORESTYLEVARCHAR20NOTNULL歌曲格式(2)歌词信息表歌词信息表用来存放歌词信息,结构如下表57歌词信息表名称数据类型字段大小备注是否为空说明LYRICNAMEVARCHAR50主键NOTNULL歌曲名称STOREPLACEVARCHARMAXNOTNULL存储位置(3)用户信息表用户信息表用来存放用户信息,结构如下表58用户信息表名称数据类型字段大小备注是否为空说明USERIDVARCHAR50主键NOTNULL用户编号USERNAMEVARCHAR50NOTNULL用户名称USERSECERETVARCHAR50NOTNULL用户密码USERMESSAGEVARCHARMAXNOTNULL反馈意见(4)播放歌曲信息表播放歌曲信息表用来存放以播放的歌曲名称列表其结构如下表59播放歌曲信息表名称数据类型字段大小备注是否为空说明SONGDATEVARCHAR50主键NOTNULL歌曲播放时间SONGNAMEEVARCHAR50NOTNULL歌曲名称(5)反馈意见信息表反馈意见信息表用来存放反馈意见的表其结构如下表510反馈意见信息表名称数据类型字段大小备注是否为空说明USERIDVARCHAR50主键NOTNULL用户编号USERNAMEVARCHAR50NOTNULL用户名称FEEDBACKMESSAGEVARCHAR20NOTNULL反馈意见唐山学院毕业设计296应用实施基于IOS的音乐播放器的实施主要包括硬件结构的规划和系统测试两个部分。本阶段即使成功完成播放器的功能,又得到系统稳定性的可靠的保证。61硬件结构规划与设计本音乐播放器在性能上要求计算机能够支持苹果系统下的XCODE运行,同时支持SQLSERVER2008和VISUALSTUDIO2010的安装和运行具体要求可以参照如下设置1、硬件运行环境环境最小配置物理内存最小512MB,建议2GB虚拟内存RAM大小的两倍临时磁盘空间100MB硬盘空间40GB视频适配器256种颜色处理器最小200MHZ,建议1GHZ以上2、软件运行环境安装环境的体系架构、操作系统、网络协议等是XCODE以及SQLSERVER2008的软件环境,其具体要求如下软件项目需求说明系统体系构架INTELX86、AMD64ANDINTELEM64T操作系统WINDOWS7版本,MACOS系统WINDOWSSEVER2003的所有版本网络协议TCP/IP62系统测试621测试目的在项目完成后进行系统测试,可以保证所开发应用的流畅性、无错性、满足需求性。系统测试是针对整个产品系统进行的测试,系统测试的过程中在发现问题之后,需要开发人员找出错误原因和位置并改正13。系统测试的目的是找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试不仅仅是为了发现系统缺陷和错误,也是为了对系统整体质量水平进行度量和评估。在开发软件系统的过程中,可能需要面对许多复杂繁琐的问题,在软件开发生存周期的每个阶段都会不可避免地会产生错误。开发人员要在每个阶段完成之前进行严格唐山学院毕业设计30的技术审查,尽可能早的发现并纠正错误,以期达到比较完善的效果。622测试方法测试程序运用最多的就是所谓的白盒测试和黑盒测试了14。白盒测试就是对软件系统的相关代码进行详细的测试,查看代码的正确性和书写规则是否正确等。黑盒测试是根据软件的规格对软件进行的测试,黑盒测试与白盒测试正好相反,不需要考虑软件内部的组成结构,只需要对软件整体进行测试。黑盒测试需要软件测试人员从用户的角度来进行各项功能测试,来检测系统的可行性和可操作性,同时观察软件中存在的各种错误和缺陷15。黑盒测试的方法使测试人员只关心系统是否能够满足用户的需求以及各种需求是如何实现的,并不关系系统的设计过程。对音乐播放器的测试主要从以下几个方面进行1代码测试这款音乐播放器的代码测试采用的是正常数据、异常数据和错误数据轮换进行测试的方法。例如在意见反馈见面输入正确的文字、输入很大量的文字、或将图片当成内容添到输入框中,查看程序的运行情况。2程序功能测试对在音乐播放器进行大量的相同内容的操作,进行基本功能的体验,查看是否完成了基本功能。例如在播放音乐的过程中点击其他的控件查看是否会影响到音乐的播放,不断的点击开始/暂停按钮查看是否会是程序崩溃等等。3分调和总调结合测试该测试是贯穿于整个系统测试思想中的,从开始涉及每一个功能模块开始,到最终完成系统的整体功能模块设计,整个过程中,针对每个功能模块进行适当的测试与修改,最后再将所有功能模块集成在整个系统中进行综合测试。唐山学院毕业设计317总结在经过为期两个月的毕业设计后,基于IOS的音乐播放器的功能得以实现。在设计期间,进一步了解到开发一款项目是一类非常复杂的工程。在开发之初就应该想好总体框架结构以及如何进行每一步的操作。开发者需要有清晰地逻辑思路并以科学的方法来开发应用。本设计的题目为“基于IOS的音乐播放器的设计与实现”。音乐播放器设计的主要内容是进行音乐的播放、下载等功能模块的实现上。因此本人在这几方面花费的时间精力在总体设计的整个系统中也就占有很大比重,耗费较长时间。为能够很好的实现系统设计目标,突出音乐播放器所需实现功能,在开发过程中,由于自己开始没有思考全面导致后来开发程序的过程中出现了一些偏差,以至于使自己引入了许多的变量来标志这些数组、UITABLEVIEW。本人开发的这款音乐播放器的特点是几乎所有的操作都在一个视图控制器中进行,而UITABLEVIEW的显示、选择也只能都在这一个视图中进行。使每一个产生的UITABLEVIEW都只

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论