基于ios平台的音乐播放器的设计与实现.ppt
基于ios平台的音乐播放器的 设计与实现,答辩时间:5月16号下午 信息学院 XXX XXXXXXXX 指导老师:XXX教授,iOS介绍,苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。 iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。,ios开发语言Objective-C的发展,1988年,NeXT Software公司获得了Objective-C语言的授权. 1996年12月20日苹果公司宣布收购NeXT SoftWare公司,NEXTSETP/OPENSETP环境成为了苹果操作系统下一个主要发行版本的OS X的基础,这个开发环境的该版本被苹果公司成为Cocoa。(Cocoa 是一个先进的面向对象的框架) 2007年,苹果公司发布了Objective-C语言的更新,并称之为Objective-C 2.0. Objective-C成为2011年度语言,Objective-C的特点,Objective-C 是面向对象的 Objective-C 它是一个简单,灵活,高效的语言,但是它只支持单重继承(不允许多重继承) Objective-C中所有的类都必须继承自NSObject Objective-C使用#import代替#include Objective-C中是用BOOL类型,值为Yes/No,表示TRUE/FALSE。 在ObjC中,相对于C中的NULL,用的是nil。这两者是等价的。,Objective-C的特点,Objective-C 使用新加的数据类型id,用来表示任何类型。 OC的文件分为头文件和源文件,扩展名分别为.h .m .mm h 为头文件。头文件包涵类的定义、类型、方法以及常量的声明 m 为源文件。这个典型的扩展名用来定义源文件,可以同时包含C和Objective-C的代码。,iPhone SDK介绍,(一)iPhone开发工具X-Code (二)iPhone开发工具Interface Builder (三)iPhone开发工具Instruments(分析器),(一)X-Code的界面,音乐播放器播放列表,读取mp3文件,播放列表-创建tableView,播放列表-设置tableView,tableView的两个required方法。,删除和添加功能,添加删除功能的代码实现,删除音乐操作 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath musicArray removeObjectAtIndex:indexPath.row; DataTable reloadData; 添加音乐操作 -(void)addAction:(id)sender self viewDidLoad; DataTable reloadData; ,(二)Inteface Builder介绍,播放界面主要由XIB文件来实现 加入IB 之后的关联操作有两种 在类中定义,要注意一定要添加 IBOutlet,才能将控件与.h和.m文件联系起来。 要和类关联 一定要关联view,播放歌曲界面,XIB文件做成的播放界面,关联之后运行的界面,点击播放列表进入播放界面,- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath UITableViewCell *musicCell = DataTable cellForRowAtIndexPath:indexPath; MusicModel *mp3Asset = musicArray objectAtIndex:indexPath.row; ViewController *musicPlayerController = ViewController allocinit; musicPlayerController.logoImageView.image= musicCell.imageView.image; musicPlayerController.musicArray = musicArray; musicPlayerController.currentMusic = mp3Asset; self.navigationController pushViewController:musicPlayerController animated:YES; NSLog(“name:%,url:%“,mp3Asset.musicName,mp3Asset.url absoluteString); musicPlayerController release; ,播放界面中的按钮事件实现,需要给IB控件添加点击操作 方法的申明和定义方法 方法的实现,一般一个方法来实现一个功能,然后通过方法间的回调来实现各种功能,按钮点击方法的定义,以上是五个按钮点击方法的定义: 音量条的控制, 进度条控制, 播放按钮, 上一首按钮 下一首按钮。,按钮点击事件的实现,上一首,下一首歌曲的按钮实现方法,按钮点击事件的实现,进度条,播放按钮和音量控制的实现方法,AVFoudation框架,引入的四个框架,其中每个框架中都封装了很多 的类这也是音乐播放器能够用 几百行代码就能实现的原因,(三)Instruments(分析器),分析器主要用来对编写的代码进行分析,实时监测代码运行的内存占有率和是否有内存泄露的问题 手机的内存才512MB,在模拟器上运行的流畅的应用,在手机上不一定流畅,这也是分析器的存在的意义,致谢,感谢各位教授,同学能够参加我的论文答辩! 感谢XXX教授的悉心指导! 谢谢大家!,