




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、I Me Music Player分析項(xiàng)目簡介、定位、創(chuàng)意設(shè)計(jì)Ps設(shè)計(jì)圖標(biāo)、效果圖等程序頁面布局,關(guān)鍵技術(shù)點(diǎn)分析總結(jié)優(yōu)缺點(diǎn)分析,更新與展望簡介I Me , 愛自己,我們自己的音樂播放器作品簡介:一款個(gè)性化和全能的音樂播放器,不僅支持本地播放,還支持網(wǎng)絡(luò)搜索播放及下載等。具有音樂播放的全部基本功能,包括播放暫停、前進(jìn)后退、循環(huán)播放、歌詞同步、歌曲收藏等功能。添加了其他音樂播放器所沒有的功能,如音樂mv視頻播放、背景自主定義、歌詞顏色及大小等的設(shè)置、菜單及菜單位置自主設(shè)置功能等。適合各年齡段和各操作習(xí)慣的用戶使用。競爭優(yōu)勢:1、具有音樂播放器的全部基本功能,保留了音樂播放類APP的基本競爭力。2、
2、解決了一般音樂播放器所僅有的本地播放而不支持網(wǎng)絡(luò)播放下載或無視頻播放功能的問題。符合大部分用戶的需求,具有一般音樂播放類APP所沒有的競爭力。3、添加了各種個(gè)性化設(shè)置功能,符合了各年齡段和各操作習(xí)慣的用戶使用需求,適用用戶人群面廣,具有音樂播放類APP所沒有的大優(yōu)勢。4、從沒有過的功能全能的、個(gè)性的的音樂播放器,屬于任何用戶自己的音樂播放器。簡介I Me , 愛自己,我們自己的音樂播放器團(tuán)隊(duì)介紹:I ME 創(chuàng)想團(tuán)隊(duì),由 組成的3人團(tuán)隊(duì)。 我們的口號是:愛自己、愛生活、愛創(chuàng)新、愛理想。需求分析:啟動(dòng)頁:啟動(dòng)頁:點(diǎn)擊啟動(dòng)頁后跳轉(zhuǎn)至主頁面。主頁面:主頁面:1.音樂播放/暫停功能。 2.上一曲/下一曲
3、跳轉(zhuǎn)功能。 3.進(jìn)度跳轉(zhuǎn)功能。 4.播放設(shè)置功能。 5.歌詞同步顯示功能。 6.音量大小控制功能。 7.其它功能列表頁:列表頁:歌曲列表頁面,可查看和選擇歌曲。開發(fā)要求:Xcode 5.1.1 ,Objective-C ,iOS 5.0以上ps簡介:Adobe Photoshop,簡稱“PS”,是由Adobe Systems開發(fā)和發(fā)行的圖像處理軟件。Photoshop主要處理以像素所構(gòu)成的數(shù)字圖像。使用其眾多的編修與繪圖工具,可以有效地進(jìn)行圖片編輯工作。ps有很多功能,在圖像、圖形、文字、視頻、出版等各方面都有涉及。設(shè)計(jì)I Me , 愛自己,我們自己的音樂播放器設(shè)計(jì)I Me , 愛自己,我們自
4、己的音樂播放器xcode:Xcode 是蘋果公司開發(fā)的編程軟件,是開發(fā)人員建立OS X 和 iOS 應(yīng)用程序的最快捷方式。Xcode 具有統(tǒng)一的用戶界面設(shè)計(jì),編碼、測試、調(diào)試都在一個(gè)簡單的窗口內(nèi)完成??捎肅、C+、Objective-C或Java編寫程序。啟動(dòng)頁:使用button控件。主頁面:背景:背景:Image View控件。按鈕:按鈕:button控件??刂疲嚎刂疲篐orizontal Slider控件。文字:文字:Label控件。動(dòng)態(tài)文字:動(dòng)態(tài)文字: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:錯(cuò)愛 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 , 愛自己,我們自己的音樂播放器上/下曲跳轉(zhuǎn):#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 , 愛自己,我們自己的音樂播放器進(jìn)度控制及時(shí)間顯示:- (IBAction)progressChange:(id)sender audioPlayer.currentTime = progressSlider.value * audioPlayer.duration;#pragma mark 0.1秒一次更新 播放時(shí)間 播放進(jìn)度條 歌詞 歌曲 自動(dòng)播放下一首(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 , 愛自己,我們自己的音樂播放器進(jìn)度控制及時(shí)間顯示:if (int)audioPl
11、ayer.duration % 60 0.999) self autoPlay; 程序講解I Me , 愛自己,我們自己的音樂播放器播放順序設(shè)置:typedef enum singleLoop, /單曲循環(huán) loopPlay, /循環(huán)播放 randomPlay /隨機(jī)播放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、設(shè)置:typedef enum singleLoop, /單曲循環(huán) loopPlay, /循環(huán)播放 randomPlay /隨機(jī)播放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 , 愛自己,我們自己的音樂播放器歌詞顯示設(shè)置:#pragma mark 表視圖 顯示歌詞設(shè)置- (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、的音樂播放器歌詞顯示設(shè)置: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 動(dòng)態(tài)顯示歌詞(void)displaySondWord:(NSUInteger)time for (int i = 0; i currentTime1) self updat
20、eLrcTableView:i; break; else /求出第一句的時(shí)間點(diǎn),在第一句顯示前的時(shí)間內(nèi)一直加載第一句 NSArray *array2 = timeArray0 componentsSeparatedByString:; NSUInteger currentTime2 = array20 intValue * 60 + array21 intValue; if (time = currentTime & time = currentTime3) self updateLrcTableView:i; break; #pragma mark 動(dòng)態(tài)更新歌詞表歌詞- (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 , 愛自己,我們自己的音樂播放器列表頁設(shè)置:#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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度酒店酒店式公寓協(xié)議折扣及租賃合同
- 二零二五年度信用卡委托代理服務(wù)信息安全保障協(xié)議
- 酒店會(huì)議室租賃與設(shè)施維護(hù)協(xié)議書(2025年度)
- 煤倉安裝合同范本
- 后屋店鋪轉(zhuǎn)讓合同范本
- 爐渣采購合同范本
- 家電清洗合同范本
- 瓶裝水合同范本
- 銅仁2025年貴州銅仁學(xué)院簡化程序招聘博士配偶5人筆試歷年參考題庫附帶答案詳解
- 門窗鋁合金合同范本
- 2025年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案一套
- 14 文言文二則 學(xué)弈 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文六年級下冊統(tǒng)編版
- Unit 4 Eat Well(大單元教學(xué)設(shè)計(jì))2024-2025學(xué)年七年級英語下冊同步備課系列(人教版2024)
- 2024-2030年中國游戲直播行業(yè)市場深度分析及投資策略研究報(bào)告
- 統(tǒng)編版小學(xué)語文六年級下冊第四單元《理想和信念》作業(yè)設(shè)計(jì)
- 2025年春季學(xué)期學(xué)校工作計(jì)劃及安排表
- 化驗(yàn)班組安全培訓(xùn)
- 英語-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 丹佛斯變頻器培訓(xùn)經(jīng)典課件
- 2024年06月日照銀行社會(huì)招聘筆試歷年參考題庫附帶答案詳解
- 烤房租賃合同范例
評論
0/150
提交評論