I Me 音乐播放器_第1页
I Me 音乐播放器_第2页
I Me 音乐播放器_第3页
I Me 音乐播放器_第4页
I Me 音乐播放器_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、I Me Music Player分析项目简介、定位、创意设计Ps设计图标、效果图等程序页面布局,关键技术点分析总结优缺点分析,更新与展望简介I Me , 爱自己,我们自己的音乐播放器作品简介:一款个性化和全能的音乐播放器,不仅支持本地播放,还支持网络搜索播放及下载等。具有音乐播放的全部基本功能,包括播放暂停、前进后退、循环播放、歌词同步、歌曲收藏等功能。添加了其他音乐播放器所没有的功能,如音乐mv视频播放、背景自主定义、歌词颜色及大小等的设置、菜单及菜单位置自主设置功能等。适合各年龄段和各操作习惯的用户使用。竞争优势:1、具有音乐播放器的全部基本功能,保留了音乐播放类APP的基本竞争力。2、

2、解决了一般音乐播放器所仅有的本地播放而不支持网络播放下载或无视频播放功能的问题。符合大部分用户的需求,具有一般音乐播放类APP所没有的竞争力。3、添加了各种个性化设置功能,符合了各年龄段和各操作习惯的用户使用需求,适用用户人群面广,具有音乐播放类APP所没有的大优势。4、从没有过的功能全能的、个性的的音乐播放器,属于任何用户自己的音乐播放器。简介I Me , 爱自己,我们自己的音乐播放器团队介绍:I ME 创想团队,由 组成的3人团队。 我们的口号是:爱自己、爱生活、爱创新、爱理想。需求分析:启动页:启动页:点击启动页后跳转至主页面。主页面:主页面:1.音乐播放/暂停功能。 2.上一曲/下一曲

3、跳转功能。 3.进度跳转功能。 4.播放设置功能。 5.歌词同步显示功能。 6.音量大小控制功能。 7.其它功能列表页:列表页:歌曲列表页面,可查看和选择歌曲。开发要求:Xcode 5.1.1 ,Objective-C ,iOS 5.0以上ps简介:Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件。Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具,可以有效地进行图片编辑工作。ps有很多功能,在图像、图形、文字、视频、出版等各方面都有涉及。设计I Me , 爱自己,我们自己的音乐播放器设计I Me , 爱自己,我们自

4、己的音乐播放器xcode:Xcode 是苹果公司开发的编程软件,是开发人员建立OS X 和 iOS 应用程序的最快捷方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。可用C、C+、Objective-C或Java编写程序。启动页:使用button控件。主页面:背景:背景:Image View控件。按钮:按钮:button控件。控制:控制:Horizontal Slider控件。文字:文字:Label控件。动态文字:动态文字:Table View控件。页面布局I Me , 爱自己,我们自己的音乐播放器页面布局I Me , 爱自己,我们自己的音乐播放器歌曲目录:-

5、 (void)initDate Music *music1 = Music alloc initWithName:梁静茹-偶阵雨 andType:mp3; Music *music2 = Music alloc initWithName:林俊杰-背对背拥抱 andType:mp3; Music *music3 = Music alloc initWithName:情非得已 andType:mp3; Music *music4 = Music alloc initWithName:错爱 andType:mp3; Music *music5 = Music alloc initWithName:周

6、杰伦-明明就 andType:mp3; musicArray = NSMutableArray allocinitWithCapacity:5; musicArray addObject:music1; musicArray addObject:music2; musicArray addObject:music3; musicArray addObject:music4; musicArray addObject:music5;程序讲解I Me , 爱自己,我们自己的音乐播放器播放与暂停:#pragma mark 播放目前的音乐- (IBAction)play:(id)sender if (

7、isPlay) audioPlayer play; playBtn setBackgroundImage:UIImage imageNamed:pause.png forState:UIControlStateNormal; isPlay = NO; else audioPlayer pause; playBtn setBackgroundImage:UIImage imageNamed:play.png forState:UIControlStateNormal; isPlay = YES; audioPlayer.volume = soundSlider.value;/重置音量,程序讲解I

8、 Me , 爱自己,我们自己的音乐播放器上/下曲跳转:#pragma mark 上一首- (IBAction)aboveMusic:(id)sender if (musicArrayNumber = 0) musicArrayNumber = musicArray.count; musicArrayNumber -; self updatePlayerSetting;#pragma mark 下一首- (IBAction)nextMusic:(id)sender if (musicArrayNumber = musicArray.count - 1) musicArrayNumber = -1

9、; musicArrayNumber +; self updatePlayerSetting;程序讲解I Me , 爱自己,我们自己的音乐播放器进度控制及时间显示:- (IBAction)progressChange:(id)sender audioPlayer.currentTime = progressSlider.value * audioPlayer.duration;#pragma mark 0.1秒一次更新 播放时间 播放进度条 歌词 歌曲 自动播放下一首(void)showTime if (int)audioPlayer.currentTime % 60 10) currentT

10、imeLabel.text = NSString stringWithFormat:%d:0%d,(int)audioPlayer.currentTime / 60, (int)audioPlayer.currentTime % 60; else currentTimeLabel.text = NSString stringWithFormat:%d:%d,(int)audioPlayer.currentTime / 60, (int)audioPlayer.currentTime % 60; 程序讲解I Me , 爱自己,我们自己的音乐播放器进度控制及时间显示:if (int)audioPl

11、ayer.duration % 60 0.999) self autoPlay; 程序讲解I Me , 爱自己,我们自己的音乐播放器播放顺序设置:typedef enum singleLoop, /单曲循环 loopPlay, /循环播放 randomPlay /随机播放playMode;#pragma mark -改变模式- (IBAction)buttonChangeModle:(UIButton *)sender mode = (mode+1) % 3; if(mode = singleLoop) sender setBackgroundImage:UIImage imageNamed:

12、soundSlider.png forState:UIControlStateNormal; if(mode = loopPlay) sender setBackgroundImage:UIImage imageNamed:circleOpen.png forState:UIControlStateNormal; if(mode = randomPlay) sender setBackgroundImage:UIImage imageNamed:randomOpen.png forState:UIControlStateNormal; 程序讲解I Me , 爱自己,我们自己的音乐播放器播放顺序

13、设置:typedef enum singleLoop, /单曲循环 loopPlay, /循环播放 randomPlay /随机播放playMode;#pragma mark -改变模式- (IBAction)buttonChangeModle:(UIButton *)sender mode = (mode+1) % 3; if(mode = singleLoop) sender setBackgroundImage:UIImage imageNamed:soundSlider.png forState:UIControlStateNormal; if(mode = loopPlay) sen

14、der setBackgroundImage:UIImage imageNamed:circleOpen.png forState:UIControlStateNormal; if(mode = randomPlay) sender setBackgroundImage:UIImage imageNamed:randomOpen.png forState:UIControlStateNormal; 程序讲解I Me , 爱自己,我们自己的音乐播放器歌词显示设置:#pragma mark 表视图 显示歌词设置- (NSInteger)tableView:(UITableView *)tableV

15、iew numberOfRowsInSection:(NSInteger)section if (tableView.tag = 1) return musicArray count; else return timeArray count; - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath static NSString *cellIdentifier = LRCCell; UITableViewCell *cell = tableVie

16、w dequeueReusableCellWithIdentifier:cellIdentifier; if (cell = nil) cell = UITableViewCell alloc initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier; cell.selectionStyle = UITableViewCellSelectionStyleNone;/该表格选中后没有颜色 cell.backgroundColor = UIColor clearColor;程序讲解I Me , 爱自己,我们自己

17、的音乐播放器歌词显示设置:if (indexPath.row = lrcLineNumber) cell.textLabel.text = LRCDictionarytimeArrayindexPath.row; cell.textLabel.textColor = UIColor colorWithRed:255 green:255 blue:255 alpha:1.0; cell.textLabel.font = UIFont systemFontOfSize:18; else cell.textLabel.text = LRCDictionarytimeArrayindexPath.ro

18、w; cell.textLabel.textColor = UIColor colorWithRed:255 green:255 blue:255 alpha:0.6; cell.textLabel.font = UIFont systemFontOfSize:13; cell.textLabel.backgroundColor = UIColor clearColor; / cell.textLabel.textColor = UIColor whiteColor; cell.textLabel.textAlignment = NSTextAlignmentCenter; / cell.co

19、ntentView addSubview:lable;/往列表视图里加 label视图,然后自行布局 return cell;- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath return 30;程序讲解I Me , 爱自己,我们自己的音乐播放器歌词同步显示:#pragma mark 动态显示歌词(void)displaySondWord:(NSUInteger)time for (int i = 0; i currentTime1) self updat

20、eLrcTableView:i; break; else /求出第一句的时间点,在第一句显示前的时间内一直加载第一句 NSArray *array2 = timeArray0 componentsSeparatedByString:; NSUInteger currentTime2 = array20 intValue * 60 + array21 intValue; if (time = currentTime & time = currentTime3) self updateLrcTableView:i; break; #pragma mark 动态更新歌词表歌词- (void)upda

21、teLrcTableView:(NSUInteger)lineNumber / NSLog(lrc = %, LRCDictionary objectForKey:timeArray objectAtIndex:lineNumber); /重新载入 歌词列表lrcTabView lrcLineNumber = lineNumber; lrcTableView reloadData; /使被选中的行移到中间 NSIndexPath *indexPath = NSIndexPath indexPathForRow:lineNumber inSection:0; lrcTableView selec

22、tRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle; / NSLog(%i,lineNumber);程序讲解I Me , 爱自己,我们自己的音乐播放器音量控制:- (IBAction)soundChange:(id)sender audioPlayer.volume = soundSlider.value; audioPlayer.volume = 0.1; soundSlider.value = audioPlayer.volume; soundSlider setThum

23、bImage:UIImage imageNamed:soundSlider.png forState:UIControlStateNormal; soundSlider setThumbImage:UIImage imageNamed:soundSlider.png forState:UIControlStateHighlighted; /更新音量 audioPlayer.volume = soundSlider.value;程序讲解I Me , 爱自己,我们自己的音乐播放器音量控制:- (IBAction)soundChange:(id)sender audioPlayer.volume =

24、 soundSlider.value; audioPlayer.volume = 0.1; soundSlider.value = audioPlayer.volume; soundSlider setThumbImage:UIImage imageNamed:soundSlider.png forState:UIControlStateNormal; soundSlider setThumbImage:UIImage imageNamed:soundSlider.png forState:UIControlStateHighlighted; /更新音量 audioPlayer.volume

25、= soundSlider.value;程序讲解I Me , 爱自己,我们自己的音乐播放器列表页设置:#pragma mark 歌曲目录 按钮- (IBAction)rightView:(id)sender RightViewController *rightView = RightViewController alloc init; rightView.myMusic = self; rightView.semiTitleLabel.text = ; self.rightSemiViewController = rightView;- (id)init if (self = super init) self.sideAnimationDuration = 0.0f; self.sideOffset = 85.0f; return self;/#列表页页面

温馨提示

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

评论

0/150

提交评论