收藏 分销(赏)

基于iphone6的音乐播放器的设计与开发说明书大学本科毕业论文.doc

上传人:可**** 文档编号:1986487 上传时间:2024-05-13 格式:DOC 页数:42 大小:6.24MB
下载 相关 举报
基于iphone6的音乐播放器的设计与开发说明书大学本科毕业论文.doc_第1页
第1页 / 共42页
基于iphone6的音乐播放器的设计与开发说明书大学本科毕业论文.doc_第2页
第2页 / 共42页
基于iphone6的音乐播放器的设计与开发说明书大学本科毕业论文.doc_第3页
第3页 / 共42页
基于iphone6的音乐播放器的设计与开发说明书大学本科毕业论文.doc_第4页
第4页 / 共42页
基于iphone6的音乐播放器的设计与开发说明书大学本科毕业论文.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、*毕业设计说明书(论文)基于iPhone 6的音乐播放器摘要:本系统是一个运行在iPhone手机上基于iOS 6.0的音乐播放器,主要功能包括本地音乐播放、网络音乐下载、网络音乐搜索、MV播放及系统设置等。其中,播放子系统具备循环播放、顺序播放、单曲循环、顺序选取、暂停、录音及歌词显示等功能。该音乐播放器是在Xcode 4.6.2 SDK上开发的。Xcode是苹果公司向开发人员提供的运行在苹果公司的Mac操作系统下的用于开发Mac OS、 iOS应用程序的集成开发环境。Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统,而iOS是由苹果公司开发的手持设备操作系统。iOS的主要开

2、发语言是Objective-C。它是一种通用的、高级的、面向对象的编程语言。本系统的服务器服务环境是用MAMP搭建的。MAMP是一款专为开发人员设计的,用于在Mac OS X 上创建本地服务器环境的软件。关键词:iPhone;iOS;Xcode;Mac OS;MAMP;音乐播放器The Music Player Based on IPhone 6Abstract: This system is a music player based on the iOS 6.0, which can be run on the iPhone. The main functions include playi

3、ng the local music, downloading the online music, searching the music online, playing the MV and changing setting systems. Among them, the function of playing music includes playing music in the loop, order selection, pause, recording and displaying the lyrics.This music player is developed on the X

4、code 4.6.2 SDK, which is a integrated development environment provided by the apple for the developers to develop the applications for Mac OS, iOS on the Mac. Mac OS is an operating system running on the Apple Macintosh computers. IOS is an operating system developed by Apple only for the handle dev

5、ices. The main development language is Objective-C, which is an universal, advanced, object-oriented programming language. The server environment for this system is created using MAMP, which is a software designed for the developers to build a local server environment on the Mac OS X.Keywords:IPhone

6、;IOS;Xcode;Mac OS;MAMP;Music player2目 录前 言1第1章 关键技术简介21.1 iOS简介21.2 Objective-C21.3 Xcode31.4 MAMP31.5 MVC模式概述4第2章 系统分析62.1 需求分析62.1.1 系统总体功能需求72.1.2 播放子系统功能需求72.1.3 用户界面需求82.2 可行性分析92.2.1 经济可行性92.2.2 技术可行性102.2.3 社会可行性分析10第3章 总体设计113.1 播放器总体设计113.2 服务器功能模块设计123.3 数据库设计12第4章 详细设计与实现134.1 开发环境配置134.1

7、.1 服务器配置134.1.2 数据库创建154.1.3 服务器功能展示164.2 客户端设计与实现184.2.1 首页184.2.2 本地列表204.2.3 播放页面214.2.4 网络列表224.2.5 MV播放列表234.2.6 系统设置页面24第5章 系统测试与运行265.1 测试目的265.2 测试方法275.3 测试过程285.3.1 首页按钮滑动功能测试285.3.2 本地音乐播放测试295.3.3 网络音乐下载测试295.3.4 搜索功能测试305.3.5 视频播放功能测试315.3.6 歌词同步播放功能测试315.3.7 录音功能测试325.3.8 系统设置功能测试335.4

8、 测试总结34结束语35参考文献36致 谢37III前 言目前智能手机的市场竞争非常激烈,在智能手机市场中,三星持续保持了榜首的位置, 2012年第四季度的销售总额为6450万台,同比增长85.3。与此同时,苹果的销量在2012年的最后一个季度达到4350万台,比2011年第四季度增长22.6。双巨头垄断局势从智能手机行业延伸到操作系统。Android操作系统的智能手机在2012最后一个季度,售出近145万台,其中三星占42.5。就整体而言,谷歌的操作系统以69.7的市场份额占据了2012年最后一个季度的绝对优势,比2011年第四季度的51.3有了大幅度的提高。相比之下,基于苹果iOS操作系统

9、的iPhone,市场份额相对下降,而其下降的主要原因是iPhone平台应用软件的相对短缺。用户在App Store上找不到其需要的应用软件,最终使越来越多的消费者放弃了购买iPhone。目前,视听娱乐已成为人们生活中的基本需求,多数人喜欢在工作、生活之余,听听音乐来放松自己。而App Store上的音乐播放器少之又少,因此设计一款简约、时尚的音乐播放器显得尤为重要。本系统主要是针对iPhone手机用户而开发的一款基于iOS 6.0的音乐播放器。为更好地满足用户的需求,首先对各个平台的音乐播放器进行了分析比较,然后根据需求分析确定本系统其主要功能为:本地音乐播放、网络音乐下载、网络音乐搜索、MV

10、播放及系统设置等。其中,播放子系统具备循环播放、顺序播放、单曲循环、顺序选取、暂停、录音、歌词显示等功能。本论文共分为五章:第一章关键技术简介:主要介绍iOS、Objective-C语言、Xcode、MAMP。第二章系统分析:主要讲功能需求分析、界面需求分析、可行性需求分析。第三章总体设计:主要写播放器总体设计、服务器功能模块设计、数据库表设计。第四章详细设计与实现:主要讲解开发环境的配置、数据库的建立和客户端的功能模块详细设计。第五章软件测试:主要写了软件测试的目的、方法与过程。第1章 关键技术简介1.1 iOS简介 iOS(原名:iPhone OS)是由苹果公司开发的手持设备操作系统,支持

11、的设备包括iPhone、iPod touch、iPad以及Apple TV。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。苹果于2007年6月29日发布了iOS的第一个版本,目前已开发到iOS 6。iOS 6拥有更完善的文本输入法,并内置了对热门中文互联网服务的支持,从而让 iPad、iPhone和iPod touch更适合中文用户使用。有了全新的中文词典和更完善的文本输入法,汉字输入变得更轻松、更

12、快速、更准确。百度已成为Safari的内置选项,还可将视频直接分享到优酷和土豆网。也能从相机、照片、地图、Safari和Game Center向新浪微博发布信息。iOS操作采用的是多点触控操作,控制方法包括滑动、轻触屏幕和图标及按键。操作有:滑动、轻按、缩小及放大。此外,iOS移动设备中还内置了加速器,使得旋转iOS设备时,界面也可以得到旋转,这也使得iPhone等便携设备更便于使用。自3GS开始,iPhone装备有陀螺仪,这使得iPhone有了重力感应,游戏效果更加的突出。1.2 Objective-CObjective-C是一门基于C语言的面向对象语言,它在现代计算机中主要作用于Mac O

13、S X作为桌面语言。Objective-C是C语言的一个超集,其主要特色与优势如下。Objective-C不仅提供了其他面向对象编程语言中的抽象概念和运行机制,而且还是一种非常灵活的语言,这种动态性就是Objective-C的最大优势所在。这种动态性可以让应用在运行中(即“运行时”)判断其该有的行为,而不是在编译构建时就固定下来。因此,Objective-C把应用程序从编译时、链接时的限制中解放出来。Objective-C的动态性来自以下三个方面:动态类型:可以让代码在运行时判断对象的类型。Id数据类型可以在运行时用任何数据类型来替换。所以,你可以让运行时因素来决定代码中用到的对象是什么类型。

14、动态类型让你的应用更加灵活,这是静态类型做不到的。动态绑定:让代码在运行时判断需要调用什么方法,而不是编译时。就像动态类型把对象的类型放到运行时再去判断一样,动态绑定把选择调用哪种方法的任务放到了运行时去完成。和其他面向对象语言一样,方法调用和代码并没有在编译时就联结结在一起,只有在消息发出时,它们才真正联结。动态类型和动态绑定的存在使得选择哪个接收者以及调用哪个方法都可以在运行时来决定。动态载入:可以让程序在运行时添加代码模块以及其他资源。有了动态载入特性,应用可以根据需要加载一系列可执行代码以及资源,而不是在启动时就加载所有组件。这能够大大提高性能。可执行代码中可以含有和程序运行时整合的新

15、类型。1.3 XcodeXcode是苹果公司向开发人员提供的运行在苹果公司的Mac操作系统下的用于开发MacOS、 iOS应用程序的集成开发环境。Xcode可以编辑由C、C+、Objective-C、Objective-C+、和Java源代码组成的工程,可以生成Mac OS X支持的所有类型的执行代码,包括命令行工具、框架、插件、内核扩展、程序包、和应用程序。1.4 MAMPMAMP代表Macintosh、Apache、MySQL和PHP,它用于在Mac OS X 上创建一个本地Web应用开发环境。其中Macintosh简称MAC, 是苹果系列电脑中的一款个人电脑。Apache是世界使用排名第

16、一的Web服务器。它可以运行在几乎所有的计算机平台上。由于其跨平台和高安全性而被广泛使用,是目前最流行的Web服务器软件之一。MySQL是一个快速、多线程、多用户的关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格类似于C语言,已被广泛地运用。MAMP分为MAMP和MAMP PRO。“MAMP PRO”是商业、专业级版本的本地服务器环境,用于 Mac OS X,为专业

17、的web开发人员和程序员而开发。 在Mac OS X的开发环境下,MAMP PRO易于安装和管理。使用MAMP PRO不需要复杂的配置就可以创建一个有效的测试环境。环境之间界限清楚,这可以让几个项目同时开发。为了尽可能的代表各式各样的ISP,PHP可以在不同版本间随时切换,以防止任何可能的兼容性问题。轻点几下鼠标,就可以在Mac上用MAMP作中转服务。1.5 MVC模式概述MVC(Model View Controller)即模型视图控制器。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V

18、的同步,一旦M改变,V应该同步更新。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 下面来具体说明下三个部分的功能:1.视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 2.模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任

19、务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 3.控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格

20、式化模型返回的数据,并通过表示层呈现给用户。1.低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。2.高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。3.较低的生命周期成本。MVC使降低开发和维护用户接口的技术含量成为可能。4.快速的部署。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务

21、逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。5.可维护性。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。6.有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。第2章 系统分析2.1 需求分析需求分析是软件开发的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。目前,在人们的日常生活中,手机扮演着不可或缺的重要

22、角色。上网、聊天、购物等一系列功能更是给人们带来了越来越多的便利和享受。在人们工作和娱乐的同时,听音乐也成了放松和舒缓心情的主要方式之一。本系统主要是针对iPhone手机用户的音乐播放需求,在对各个平台的音乐播放器进行分析比较后,根据需求分析确定了本系统的主要功能为:本地音乐播放、网络音乐下载、网络音乐搜索、MV播放及系统设置等。其中,播放子系统具备循环播放、顺序播放、单曲循环、顺序选取、暂停、录音、歌词显示等基本功能。图2-1 系统总用例图2.1.1 系统总体功能需求根据对各个平台音乐播放器的集中分析和汇总,并结合对广大iPhone手机用户进行调查的结果,得出本系统设计的音乐播放器的主要功能

23、有:本地音乐播放、网络音乐下载、网络歌曲搜索、MV播放及系统设置等。其系统总体用例图如图2-1所示。2.1.2 播放子系统功能需求结合各平台主流音乐播放器的特点,设计得出本系统的音乐播放子系统应具有的功能有:上一首、下一首、暂停、录音、歌词显示、专辑图片显示等。其功能用例图如图2-2所示。图2-2 播放子系统用例图其中歌曲播放模式有顺序播放、单曲循环、随机播放等。其基本的播放模式功能用例图如图2-3所示。图2-3 播放模式用例图2.1.3 用户界面需求随着技术的进步,可视化的应用程序设计语言被越来越多的广泛使用。利用可视化的程序设计语言可以设计出功能强大、操作简单、使用方便、适合不同人群和领域

24、的应用程序。有些应用程序的用户界面设计有很强的艺术性,给人一种清晰、美观、简明、易用的感觉。因此,一个系统的用户界面设计不仅影响着其本身外观的艺术性,而且对系统的可用性也有很重要的影响。可以说用户界面是一个应用程序最重要的一面,它直接影响程序的使用价值。对于大多数用户来说,用户界面就是他们对一个产品最初的大致了解。所以即使是一个内部设计良好但用户界面不好的应用程序,也很难得到广大用户的青睐。一致性是用户界面设计中的重要因素之一,一致性的外观体现了应用程序的协调性。如果缺乏一致性就会使界面混乱而无序,这样的界面体现不出该应用应有的价值,更可能使用户觉得该应用不可靠。结合上述分析,本款播放器的主界

25、面设计如下图2-4所示。整体色调采用充满生机的青绿色,简约而不失美观。功能按钮亦按简约易用的原则设计和摆放。用户通过点击界面下方tabBar上的按钮,即可在本地音乐、网络音乐、MV、设置之间进行随意切换。 图2-4 播放器主界面 图2-5 播放子系统播放子系统的界面亦采用青绿色的色调,整体显得协调美观。具体如上图2-5所示,同时点击专辑图片左右滑动即可在歌词显示和歌手图片显示画面间自由的切换。2.2 可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可

26、行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能解决。该系统的可行性分析包括以下几个方面的内容。2.2.1 经济可行性主要是对项目的经济效益进行评价。随着iPhone手机的流行,设计和开发一款能满足iPhone用户听音乐需求的播放器是十分必要的。具备音乐的搜索、下载、播放等功能的音乐的播放器是很有市场前景的。本款播放器在经济上是完全可以接受的,只要用户拥有iPhone手机 ,即可安装这款音乐播放器。所以本款播放器在经济上是可行的。2.2.2 技术可行性技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,应用程序开发所需要的各种软件环

27、境都已具备,服务器方面则有MAMP,安装管理都很方便。其包括的PHP和MySQL的灵活性、安全性和易用性都为服务器端的设计和代码编写提供了良好的条件。因此,系统软件开发平台已成熟可行。硬件方面,拥有一台Mac 或Mac Book即可,本人已拥有一台Mac Book。因此,系统硬件开发平台已成熟可行。2.2.3 社会可行性分析本应用程序为独立开发,在技术上没有使用任何现有的软件与方法。所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全符合规定。第3章 总体设计3.1 播放器总体设计根据需求分析和功能用例图,分析得出本播放器功能模块主要如下四个部分:本地列表、网络列表、MV列表、设置。具体功能

28、设计如下图3-1所示。图3-1 播放器功能模块图具体功能描述如下:(1) 本地音乐播放功能:对保存在本地的歌曲进行播放。(2) 网络音乐下载功能:网络上的音乐可以下载保存到本地。(3) 网络歌曲搜索功能:在网络歌曲列表中查找自己想要听的歌曲。(4) 歌词同步显示功能:播放音乐的时候同步显示歌词。(5) MV播放功能:播放已下载的MV。(6) 录音功能:录制音频并可以回放。(7) 系统设置功能:设置是否自动下载歌词、是否自动下载专辑图片等。3.2 服务器功能模块设计为配合上述播放器的功能设计,服务器端设计分为如下3个功能模块:歌曲分类、歌曲列表显示、歌曲录入。如图3-2所示。图3-2 服务器模块

29、图具体功能描述如下:(1) 歌曲分类功能:对歌曲进行分类,如新歌、经典老歌等,方便用户分类查找。(2) 歌曲列表显示功能:显示上传到服务器的所有歌曲,并可以删除已上传的歌曲,和试听已存在的歌曲。(3) 歌曲录入端口功能:录入歌曲名称、歌手名,上传歌手图片、歌曲资源到服务器。3.3 数据库设计根据上述服务器功能模块图,结合播放器的的功能,分析、设计得出如下表3-1所示的系统数据库表。表3-1 歌曲属性表(music_list)字段名称类型是否为空是否自增是否主键注释idint(10)序号m_idvarchar(20)歌曲idm_file_namevarchar(100)歌曲路径m_filevar

30、char(100)歌曲名m_who_songvarchar(20)歌手名m_who_image_namevarchar(100)专辑图片m_downloadsint(10)下载量m_timeint(10)上传时间m_sizevarchar(20)歌曲大小第4章 详细设计与实现4.1 开发环境配置客户端环境:(1)Mac OS X 10.8.2 操作系统(2)Safari 6.0.1浏览器及其兼容浏览器(3)开发工具:Xcode 4.3.2(4)开发语言:Objective- C(5)硬件环境:CPU主频为2.5 GHz及以上,内存4 GB及以上服务器环境:(1)操作系统:Mac OS X 10

31、.8.2 操作系统(2)数据库系统:MySQL (3)开发语言:PHP(4)开发工具:MAMP 2.0.5(5)硬件环境:CPU主频为2.5 GHz及以上,内存4 GB及以上4.1.1 服务器配置安装好MAMP后,在Finder中选择应用程序,点击MAMP,选择Launch MAMP PRO,即可启动MAMP配置。如图4-1所示。图4-1 Launch MAMP PRO点击Hosts添加本地地址127.0.0.1,如图4-2所示。图4-2 Hosts本地地址配置点击Server修改Apache端口号为80,如图4-3所示。 图4-3 Apache端口配置经过上述两部操作,服务器即已配置好。点击

32、右上角的start按钮,即可开启Apache和MySQL,如图所4-4示。图4-4 启动MAMP PRO4.1.2 数据库创建此时点击WebStart开启服务器,点击PHPMyadmin在新建数据库的位置新建数据库。注意整理那一项要选择utf8_general_ci,使其与下面MySQL连接校对的地方相同,如图4-5所示。图4-5 新建数据库当数据库建立好之后,便可以在数据库中建立数据表了,本系统建立了如下两张数据表,如图4-6所示。图4-6 系统数据表4.1.3 服务器功能展示整个服务器共分为3部分,第一部分是歌曲的分类,如新歌、经典老歌等。其可以添加歌曲的分类,也可以删除或重命名已有的歌曲

33、分类,如图4-7所示。图4-7 歌曲分类第二部分是歌曲的列表显示。其可以删除已有的歌曲,可以查看这首歌曲的详情,还可以试听,如图4-8,4-9所示。图4-8 歌曲列表图4-9 歌曲详情第三部分是歌曲录入端口,选择歌曲类型,输入歌手名,上传专辑图片和歌曲资源即可完成音乐的上传,如图4-10所示。图4-10 歌曲录入端口4.2 客户端设计与实现客户端设计属于详细设计。详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确、算法描述要简明易懂。在总体设计部分已确定了本款音乐播放器的各功能

34、模块,结合界面设计原则,在此部分将对各功能模块的具体用户界面设计和详细功能设计进行细化、并编写代码实现。4.2.1 首页如图4-11所示,为本款音乐播放器的首页。其实现方法使用了iCarousel控件。这使得用户只要用手指在本地音乐、网络音乐、MV和设置模块之间进行轻松滑动,即可实现不同功能的自由切换。同时通过轻轻点击即可进入相应的具体功能模块。 图4-11 首页图 4-12 本地播放列表iCarousel控件的使用可以增加用户的体验感受,具体代码如代码4-1所示。#pragma mark iCarousel methods/显示每个iCarousel的内容,如标题,图片-(UIView*)c

35、arousel:(iCarousel*)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view UIButton *button = nil; UIImageView *imgaeTY=nil; FXLabel *label = nil; /create new view if no view is available for recyclingif (view = nil)/设置view大小 view =UIView allocinitWithFrame:CGRectMake(0,0, 500, 600

36、); view.backgroundColor=UIColor clearColor; view setFrame:CGRectMake(0, 0, 200, 340); imgaeTY = UIImageView alloc initWithFrame:CGRectMake(0, 20, 210, 247); / imgaeTY setImage:UIImage imageNamed:page; button = UIButton allocinitWithFrame:CGRectMake(0, 80, 180, 200); label = FXLabel allocinitWithFram

37、e:CGRectMake(40, 20, 180,100); label.numberOfLines = 3;/设置行数 label.textColor = RGBA(0, 120, 125, 1); label.backgroundColor = UIColor clearColor; / NSString *title = self exchangeNumberToString:index; /label的内容可以分别来设置 label.text =NSString stringWithFormat:%,arrList objectAtIndex:index; label.font = U

38、IFont fontWithName:Arial-BoldMT size:20; /图片内容 NSString *number = NSString stringWithFormat:%d,index+1; if (index9) number = NSString stringWithFormat:0%d,index+1; button setImage:UIImage imageNamed:NSString stringWithFormat:竖条%,number forState:UIControlStateNormal; button.tag = carousel.currentItem

39、Index; button addTarget:self action:selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside; view addSubview:imgaeTY; view addSubview:button; view addSubview:label; elsebutton = view subviews lastObject;return view; 代码4-1 iCarousel控件实现4.2.2 本地列表本地列表用于显示用户当前所拥有的本地歌曲。如图4-12所示,为当前已下载在本地的歌

40、曲列表,上下拖动即可以实现列表的滑动,这让用户可以轻松自如的浏览当前歌曲列表或查找想听的音乐。在本模块实现方法中,使用了tableView及tableViewCell控件。通过其实现歌曲信息的显示,如歌曲名,歌手名等。具体实现代码如代码4-2所示。/设置每个cell显示的内容- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath NSUInteger section = indexPath section; NSUInteger row = in

41、dexPath row; NSString *key = mArray objectAtIndex:section; NSArray *nameSection = names objectForKey:key; static NSString *cellIndentifier=fdsff; ListCell *cell=tableView dequeueReusableCellWithIdentifier:cellIndentifier; if (cell=nil) NSArray *nibArray=NSBundle mainBundle loadNibNamed:ListCell owne

42、r:self options:nil; cell=nibArray objectAtIndex:0; AudioFile *audio=mArray objectAtIndex:indexPath.row; audio.cellIndexPath=indexPath; NSString *num; if (indexPath.row9) num = NSString stringWithFormat:00%d、,indexPath.row+1; else if ( indexPath.row99) num = NSString stringWithFormat:0%d、,indexPath.r

43、ow+1; else num = NSString stringWithFormat:%d、,indexPath.row+1; cell.MusicNameLabel.text=NSString stringWithFormat:%, num,audio.auName; cell.SingerLabel.text=audio.ausinger; cell.selectmp3Object=audio; cell.textLabel.text = nameSection objectAtIndex:row;/显示每个label的内容 cell.btnAccessory.hidden=YES; re

44、turn cell;代码4-2 本地列表cell设置4.2.3 播放页面播放页面一般是用户停留时间最多的页面,因此播放页面的用户界面设计就显得尤为重要。简洁明了,而又不失优雅是本次系统界面设计的基本原则。基于此而设计的播放页面如下图4-13所示。在此页面,用户可以进行上一曲、下一曲、循环播放、随机播放、单曲循环、查看歌词等操作。需要的时候,通过点击录音按钮即可以轻松录制自己想唱的歌曲。同时也支持后台播放功能。 图4-13 音乐播放页面 图4-14 网络列表具体实现代码如代码4-3所示。/真机后台播放,锁屏播放AVAudioSession sharedInstancesetCategory:AVAudioSessionCategoryPlayback error:nil;AVAudioSession sharedInstancesetActive:YES error:nil;UIApplication sharedApplicationbeginReceivingRemoteControlEvents;/获得下一首歌曲的指针-(void)next if (selectedIndexsoundFilesArray.count-1) selectedIndex+;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服