畢業(yè)設(shè)計(論文)-基于iOS系統(tǒng)的在線音樂播放器手機APP設(shè)計_第1頁
畢業(yè)設(shè)計(論文)-基于iOS系統(tǒng)的在線音樂播放器手機APP設(shè)計_第2頁
畢業(yè)設(shè)計(論文)-基于iOS系統(tǒng)的在線音樂播放器手機APP設(shè)計_第3頁
畢業(yè)設(shè)計(論文)-基于iOS系統(tǒng)的在線音樂播放器手機APP設(shè)計_第4頁
畢業(yè)設(shè)計(論文)-基于iOS系統(tǒng)的在線音樂播放器手機APP設(shè)計_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

中國地質(zhì)大學(xué)長城學(xué)院本科畢業(yè)設(shè)計題目基于iOS系統(tǒng)的在線音樂播放器手機app設(shè)計系別管理科學(xué)與工程系專業(yè)信息管理與信息系統(tǒng)學(xué)生姓名學(xué)號指導(dǎo)教師職稱高級工程師2016年3月7日中國地質(zhì)大學(xué)長城學(xué)院畢業(yè)論文任務(wù)書學(xué)生姓名學(xué)號專業(yè)班級2012級信管2班指導(dǎo)教師職稱高級工程師單位中國地質(zhì)大學(xué)長城學(xué)院畢業(yè)論文題目基于iOS系統(tǒng)的在線音樂播放器手機app設(shè)計畢業(yè)設(shè)計主要內(nèi)容和要求: 主要內(nèi)容:近年來,隨著智能手機的大眾化,越來越多的人使用智能手機。用手機聽音樂也成為當(dāng)今社會人們必不可少的一項娛樂活動,市場上的音樂播放器品牌繁多,定位不一,充分滿足了各層次消費者的需求。最新的調(diào)查顯示比較大的音樂播放器市場,并不是很樂觀。而外形新穎、小巧輕便靈活的迷你播放器卻很受年輕人的青睞和歡迎。此次設(shè)計是基于ios系統(tǒng),為了使用戶體驗更加方便,開發(fā)簡潔優(yōu)化的在線音樂播放器,并將所學(xué)知識運用到設(shè)計過程中去。App的內(nèi)容主要包括:從網(wǎng)絡(luò)上搜索想要的歌曲、播放本地貨網(wǎng)上的歌曲、暫停歌曲播放等。要求:嚴(yán)格按照軟件開發(fā)思想和管理系統(tǒng)的開發(fā)步驟,以系統(tǒng)開發(fā)過程為主線,從需求分析,概要設(shè)計、詳細設(shè)計、系統(tǒng)編碼以及系統(tǒng)測試、實施各階段的主要內(nèi)容和成果,包括系統(tǒng)結(jié)構(gòu)圖、業(yè)務(wù)流程用途、數(shù)據(jù)流程圖、數(shù)據(jù)字典、界面設(shè)計等等。要求整個系統(tǒng)的設(shè)計完整,功能齊全,代碼正確,符合編程規(guī)范。使用ios布局文件搭構(gòu)界面,使用IOS開發(fā)工具Xcode進行設(shè)計。畢業(yè)論文主要參考資料:[1]MarkDalrymple/ScottKnaster.Objectie-C基礎(chǔ)教程[M].人民郵電出版社,2009.7[2]AppleInc.多線程指南[M].有米移動廣告指南,2008.1[3]張立明.iOS高級內(nèi)存管理編程指南[M].蘋果公司,2011.6[4]林超旗.HTTP協(xié)議詳解[M].2010.6[5]羅建川,劉守印,胡君紅,彭新生.實時傳輸協(xié)議RTP的研究及其應(yīng)用計算機工程與應(yīng)用[M]2001.8[6]楊正洪.Objective-C程序設(shè)計[M],清華大學(xué)出版社,2001.7[7](美)坎貝爾.iPhoneSDK3開發(fā)快速上手[M],機械出版社,2011.8[8]MarkDalrympleScottKnasterObjective-C基礎(chǔ)教程[M].北京人民郵電出版社。2012.7[9]StephenG.KochanObjective-C程序設(shè)計(第四版)[M].北京電子工業(yè)出版社2011.1[10]王水軟件工程[M]河南科學(xué)技術(shù)出版社2012.8[11]薩丹IPhone開發(fā)秘籍[M].人民郵電出版社2010.1畢業(yè)論文應(yīng)完成的主要工作:1.完成該課題的開題報告、系統(tǒng)的具體功能設(shè)計、界面設(shè)計和代碼編寫。.2.需要對當(dāng)前存在的類似客戶端進行數(shù)據(jù)挖掘,對用戶的需求做出準(zhǔn)確的需求分析。3.開題報告之前要撰寫出畢業(yè)設(shè)計的大綱,并根據(jù)開題報告中教師提出的意見進行修改。4.確定大綱之后認真的撰寫論文和進行app的設(shè)計,并根據(jù)指導(dǎo)教師的意見進行修改。.5.必須實現(xiàn)包括上述功能實用性強的軟件系統(tǒng),提交可執(zhí)行代碼以及相應(yīng)文檔說明,論文終稿按要求打印上交。畢業(yè)論文進度安排:序號畢業(yè)論文各階段內(nèi)容時間安排備注1確定論文題目2016年9月6日-9月9日2下達論文任務(wù)書2016年9月10日-9月12日3撰寫開題報告2016年9月13日-10月18日4開題答辯2016年9月19日5畢業(yè)實習(xí),搜集論文資料,撰寫論文初稿2016年10月21日-2016年3月31日6將論文初稿交指導(dǎo)老師評閱,在老師的指導(dǎo)下修改論文,直至最終定稿2016年4月1日-4月30日7專家評閱畢業(yè)論文2016年5月1日-5月15日8畢業(yè)論文答辯2016年5月16日-5月27日9評定論文成績2016年5月28日-5月30日課題信息:課題性質(zhì):設(shè)計√論文□課題來源:教學(xué)□科研□生產(chǎn)□其它□發(fā)出任務(wù)書日期:指導(dǎo)教師簽名:年月日中國地質(zhì)大學(xué)長城學(xué)院畢業(yè)論文開題報告學(xué)生姓名:學(xué)號:專業(yè)班級:2012級信管2班指導(dǎo)教師:職稱:高級工程師單位:中國地質(zhì)大學(xué)長城學(xué)院課題性質(zhì):設(shè)計√論文課題來源:科研□教學(xué)□生產(chǎn)√其它□畢業(yè)論文題目基于iOS系統(tǒng)的在線音樂播放器手機app設(shè)計一、研究目的和意義隨著科技的發(fā)展,手機的音樂播放功能已經(jīng)是大家比較關(guān)注的一部分了,幾乎市場上所有的手機都擁有一個自帶的音樂播放軟件,通過軟件可以對音樂欣賞中一些必要的元素進行人性化的設(shè)置,同時在操作的時候也能得到一定的便利,最新調(diào)查發(fā)現(xiàn),外形新穎、小巧輕便靈活的迷你播放器很受年輕人的青睞和歡迎,所以本次設(shè)計就致力于開發(fā)一款基于ios手機平臺的在線音樂播放器,來滿足用戶的使用需求。二、研究現(xiàn)狀隨著電子產(chǎn)品的大眾化,高科技給我們生活帶來了便捷,舒適,高效的體驗,基于ios操作系統(tǒng)的蘋果產(chǎn)品已經(jīng)成為當(dāng)今中國電子市場上不可或缺的一部分,在眾多智能手機操作系統(tǒng)中,吳潔明在《軟件工程實例教程》中指出IOS操作系統(tǒng)現(xiàn)對于安卓系統(tǒng)穩(wěn)定很多且操作簡單,在IOS系統(tǒng)上只做一款小巧精美,并且功能強大的音樂播放器會很受歡迎。馮沖在《界面中的注意力設(shè)計》中闡明一款好的音樂播放器的人性化界面和擴展性是各種音樂播放器的特色所在,大部分商業(yè)版播放軟件往往將界面打造的非常華麗,操作也十分方便,但也缺乏簡潔性,支持的格式也較少,非開源播放軟件一般能夠很好地進行界面簡化,支持較多的音樂格式。此次設(shè)計的在線音樂播放器就是基于iOS平臺設(shè)計的,支持mp3等主流音頻,資源占用率小,運行效率高,操作簡潔,擴展功能強。在線音樂播放器開發(fā)過程中采用Objective-C語言和Sqlite數(shù)據(jù)庫編程開發(fā),楊正洪在《Objective-C程序設(shè)計》中指出iOS操作系統(tǒng)相對于其他手機操作系統(tǒng)具有良好的編程風(fēng)格和界面設(shè)計以及系統(tǒng)封裝性好,方便用戶操作。三、研究內(nèi)容在線音樂放器的設(shè)計可分為基本程序編譯,UI界面設(shè)計,UI網(wǎng)絡(luò)連接等內(nèi)容。自己綜合現(xiàn)有音樂播放器的特點以及用戶的需求評價,具體設(shè)計內(nèi)容如下:完成虛擬機的安裝與配置實現(xiàn)在線試聽功能實現(xiàn)歌曲搜索功能自己設(shè)計播放器界面完成相關(guān)程序編碼并提交;四、進度安排序號畢業(yè)論文各階段內(nèi)容時間安排1確定論文題目2016年9月6日-9月9日2下達論文任務(wù)書2016年9月10日-9月12日3撰寫開題報告2016年9月13日-10月18日4開題答辯2016年9月19日5畢業(yè)實習(xí),搜集論文資料,撰寫論文初稿2016年10月21日-2016年3月31日6將論文初稿交指導(dǎo)老師評閱,在老師的指導(dǎo)下修改論文,直至最終定稿2016年4月1日-4月30日7專家評閱畢業(yè)論文2016年5月1日-5月15日8畢業(yè)論文答辯2016年5月16日-5月27日9評定論文成績2016年5月28日-30日六、預(yù)期結(jié)果通過對在線音樂播放器的設(shè)計,開發(fā)出一款集登錄注冊、歌詞同步、單曲循環(huán)播放、觀看MV等功能于一體的高性能APP,實現(xiàn)足不出戶收聽高品質(zhì)音樂,而且在線音樂播放器具有邊聽邊緩存的功能,愛聽音樂的朋友在使用的時候可以不連接網(wǎng)絡(luò)就可以享受高品質(zhì)音樂帶來的樂趣。每個用戶可以注冊一個自己的賬號,然后把自己喜歡的歌曲收藏在文件夾里,防止錯過每一首好歌,在使用過程中假如遇到一些問題可以通過意見反饋對話框反映給開發(fā)者,使它能夠更貼近用戶的需求,實現(xiàn)不斷的自我完善。七、參考文獻[1]喬納森AppStore掘金[M]人民郵電出版社2010.1[2]吳潔明軟件工程實例教程[M]清華大學(xué)出版社2010.11[3]馮沖界面中的注意力設(shè)計北京交通大學(xué)2012.10[4]楊正洪著,Objective-C程序設(shè)計[M],清華大學(xué)出版社,2001[5](美)坎貝爾著,劉紅偉譯,iPhoneSDK3開發(fā)快速上手[M],機械出版社,2011[6]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006[7]金福生,李樸之.iOS應(yīng)用程序開發(fā)方法與實踐[M].北京:人民郵電出版社,2012[8]陳禹.信息分析與設(shè)計[M].北京高等教育出版社,2006[9]夏夢.基于iOS的車聯(lián)網(wǎng)手機客戶端的設(shè)計與實現(xiàn)[D].南昌大學(xué)2014[10]馮沖界面中的注意力設(shè)計北京交通大學(xué).2012指導(dǎo)教師意見:指導(dǎo)教師簽名:年月日教研室意見:審查結(jié)果:同意□不同意□教研室主任簽名:年月日中國地質(zhì)大學(xué)長城學(xué)院本科畢業(yè)設(shè)計文獻綜述系別:管理科學(xué)與工程系專業(yè):信息管理與信息系統(tǒng)姓名:學(xué)號:2016年3月7日前言現(xiàn)今移動互聯(lián)網(wǎng)成為人們熱議的話題,各式各樣的移動操作平臺也層出不窮,以下是幾個現(xiàn)今比較流行的移動操作平臺:iOS、Android、BlackBerry、Java

ME、Windows

Phone、mobile

web。其中蘋果系統(tǒng)以其開放性、良好的用戶體驗、性價比高等等優(yōu)點,(2014年底蘋果占全球份額的85%)搶占了移動互聯(lián)網(wǎng)市場的大部分。而基于iOS移動終端的音樂播放器的設(shè)計是一門集計算機技術(shù)和數(shù)字多媒體技術(shù)于一體的綜合設(shè)計。隨著中國計算機技術(shù)、寬帶網(wǎng)絡(luò)的發(fā)展,越來越多的人開始重視多媒體播放器的發(fā)展與應(yīng)用,在當(dāng)今信息社會以多媒體為特征的信息技術(shù)和信息產(chǎn)業(yè)的發(fā)展及應(yīng)用對人類社會產(chǎn)生的影響和作用愈來愈明顯,愈來愈重要。而音樂作為多媒體的一個重要組成部分能改變信息的包裝,實現(xiàn)知識信息數(shù)字化,為人們獲得知識信息提供極大地方便和無窮的樂趣。友善的人界面、有人的電子游戲項目、身臨其境的多媒體導(dǎo)購系統(tǒng)等等,無不滲透著多媒體的作用,他引導(dǎo)人們進入一個有聲有色的世界。同時,多媒體的發(fā)展和應(yīng)用,極大地推動了各行各業(yè)的相互滲透和飛速發(fā)展,大大改變了人類社會的工作環(huán)境和生活方式,可毫不夸張的說,多媒體產(chǎn)業(yè)的形成與發(fā)展,不僅引起了計算機工業(yè)的一次革命,也正在深刻影響著人類社會發(fā)生巨大的變革。多媒體技術(shù)的發(fā)展在很大程度上依靠于多媒體軟件開發(fā)的水平。

2國外研究狀況在國際音樂市場上,因為互聯(lián)網(wǎng)極大的降低了數(shù)據(jù)流動的成本和音樂這種容易被數(shù)字化的特征,音樂數(shù)據(jù)在互聯(lián)網(wǎng)上被快速廣泛的傳播是必然的事情,這就造成了互聯(lián)網(wǎng)上大量的音樂盜版下載不斷發(fā)生,直接導(dǎo)致了“互聯(lián)網(wǎng)殺死音樂產(chǎn)業(yè)”的論調(diào)。蘋果則打破了這種桎梏,其iPod用戶通過iTunes,可以輕松找到想要的音樂,便宜的價格,便捷的付費,從外觀到內(nèi)容,蘋果為音樂迷提供更好的用戶體驗,通過這種模式,蘋果很快控制了整個在線音樂服務(wù),向下掌控用戶,向上掌控音樂開發(fā)商。從業(yè)界的角度分析,依托蘋果生態(tài)憑借互聯(lián)網(wǎng)優(yōu)良的流動性,音樂數(shù)據(jù)化技術(shù)的成熟,以及支付方式的便捷有效降低交易成本,以及音樂領(lǐng)域的長尾效應(yīng)。3國內(nèi)研究狀況國內(nèi)與國外相比算是起步比較晚的了。國內(nèi)自2011年起步以來,其規(guī)模和系統(tǒng)完善性都有待提高,伴隨智能手機的普及,越來越多的人接受了蘋果手機,并開始慢慢習(xí)慣了簡單快捷的操作方式,省時省力的挑選流程,使人們認識到了iOS系統(tǒng)的優(yōu)東華理工大學(xué)畢業(yè)設(shè)計(論文)系統(tǒng)設(shè)計點,目前,各種各類的移動互聯(lián)網(wǎng)APP的開發(fā)如雨后春筍般地活躍在市場上,在國內(nèi)也有一大塊藍海等著大家去發(fā)現(xiàn)也挖掘。如果能把我住這個機會,我想一定能創(chuàng)造出堪比BAT的神話。iPhone在中國極受歡迎。國內(nèi)的各大通信運營商都看到了iPhone在國內(nèi)的前景,都紛紛地與蘋果公司合作(合約機、優(yōu)惠套餐等方式)。APPle公司也沒有這些運營商、客們失望,憑借iPhone自身的優(yōu)點慢慢地國內(nèi)市場上發(fā)出光芒。雖然iOS在國內(nèi)興起不超過五年,但是在國內(nèi)已經(jīng)有了大量的相關(guān)學(xué)習(xí)的機會和學(xué)習(xí)資料。給我我們自學(xué)提供了良好的環(huán)境。在播放器方面,國內(nèi)移動增值業(yè)務(wù)科偉異彩紛呈,其中人氣最旺的當(dāng)屬無線音樂。迅速崛起的多媒體音樂,給用戶帶來了嶄新的娛樂體驗,成為推動多媒體音樂全面崛起的生力軍,數(shù)字多媒體音樂的迅猛發(fā)展,是無數(shù)企業(yè)對其青睞不已。音樂行業(yè)未來發(fā)展的方向在于數(shù)字音樂,中國互聯(lián)網(wǎng)多媒體音樂用戶占世界前列,只要解決了版權(quán)問題,數(shù)字多媒體音樂的收入未來幾年就可能出現(xiàn)幾十倍或者上百倍的增長,前景十分樂觀。4總結(jié)通過以上的文獻閱讀和參考,使我更加深了對iOS應(yīng)用開發(fā)的理解,并很好地應(yīng)用到了實踐中,音樂播放器手機客戶端應(yīng)用程序能夠很好的完成也要感激于這些文獻的引導(dǎo),雖然在做的過程中遇到一個又一個困難,不過最后也都一一解決,我會在今后不斷的實踐中努力完善自己,不斷學(xué)習(xí),以提高自身水平。參考文獻[1]葉佳俊基于“云”技術(shù)的音樂播放器設(shè)計.中國量學(xué)院.2012[2][美]DaveMark,JackNutting,JeffLaMarcheiOS5基礎(chǔ)教程.人民郵電出版社.2012[3]馮沖界面中的注意力設(shè)計北京交通大學(xué).2012[4][美]StephenG.Kochan.Objective-C程序設(shè)計[M].電子工業(yè)出版社.2012[5][美]JonatbanZdziarskiAppStore掘金.人民郵電出版社.2010[6][美]DaveMark,JackNutting,JeffLaMarche.iOS基礎(chǔ)教程[M].人民郵電出版社.2012[7]王珊,薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006[8]金福生,李樸之.iOS應(yīng)用程序開發(fā)方法與實踐[M].北京:人民郵電出版社,2012[9]陳禹.信息系統(tǒng)分析與設(shè)計[M].北京:高等教育出版社,2005[10]夏夢.基于iOS的車聯(lián)網(wǎng)手機客戶端的設(shè)計與實現(xiàn)[D].南昌大學(xué)2014[11]許振.TeleNavTrack產(chǎn)品及手機客戶端軟件分析與設(shè)計[D]山東大學(xué)2007[12]丁增五.基于MAS的通用手機客戶端系統(tǒng)構(gòu)建[D].復(fù)旦大學(xué)2010[13]李立鋒.基于位置服務(wù)Internet查詢系統(tǒng)的手機客戶端軟件開發(fā)[D].蘭州大學(xué)2012[14]CarloChung.Objective-Cprogrammingway[M].WileyPublishing,2011[15]JivaDeVoe.GoodknowledgeofObjective-C[M].WileyPublishing,2012中國地質(zhì)大學(xué)長城學(xué)院本科畢業(yè)論文題目基于iOS系統(tǒng)的在線音樂播放器手機app設(shè)計系別管理科學(xué)與工程系專業(yè)信息管理與信息系統(tǒng)學(xué)生姓名學(xué)號指導(dǎo)教師2016年3月7日基于iOS系統(tǒng)的在線音樂播放器手機app設(shè)計摘要基于iOS系統(tǒng)的在線音樂播放器,是為了給用戶提供更好的音樂播放效果,更家方便的用戶操作,享受音樂帶來的樂趣。目前大多數(shù)音樂播放器都是以計算機和電子設(shè)備做為載體,在享受音樂帶來樂趣的同時,占用系統(tǒng)內(nèi)存比較大,此次設(shè)計的音樂播放器可以合理避免內(nèi)存過大造成閃退的狀況?;趇OS的在線音樂播放器針對iPhone設(shè)備研發(fā)。因為移動設(shè)備的便利性,使音樂播放器的方便性和易操作性得到了很大的提高。本設(shè)計對開發(fā)中遇到的問題和解決方法進行了詳細的討論,該音樂播放器集播放、暫停、停止、快進、快退、下一曲、上一曲、音量調(diào)節(jié)等功能于一體,性能良好。第一階段先對項目進行全面的、仔細的需求分析,并準(zhǔn)確做出項目進度安排,明確每個階段的任務(wù);第二階段是進行項目分模塊編碼;第三階段對項目進行全面測試和系統(tǒng)集成測試。在程序的開發(fā)上,因為OC語言的不可跨平臺性,所以只在OSX系統(tǒng)上進行編碼,目前,基于iOS的在線音樂播放器的手機客戶端已經(jīng)完成測試,達到預(yù)期效果。關(guān)鍵詞:音樂播放器;iOS;Objective-CAbstractIOSsystembasedontheonlinemusicplayer,inordertoprovideuserswithbettermusictoplaytheeffect,moreconvenientoperationoftheuser,toenjoythefunofmusic.Atpresent,mostmusicplayersarebasedoncomputersandelectronicequipmentasthecarrier.IOSbasedonlinemusicplayerforiPhoneequipmentresearchanddevelopment.Becauseoftheconvenienceofmobiledevices,themusicplayer'sconvenienceandeaseofoperationhasbeengreatlyimproved.ThisdesignusingtheObjective-ClanguageandXcodecompilationtoolsfortheplayertowrite,andgivesthedetailedsystemdesignprocess,partoftheinterfacediagramandmainfunctionflowchartoftheoperation,thispaperalsoontheproblemsencounteredinthedevelopmentandsolvingmethodsarediscussedindetail.Themusicplayer,setplay,pause,stop,fastforward,rewind,asong,asong,adjustthevolumeandotherfunctions,goodperformance,inthedevelopmentprocessusingthewaterfallmodel.Thefirststagetotheprojectofcomprehensiveandcarefuldemandanalysis,accuratelymakingtheprojectschedule,cleartasksineachstage;thesecondstageistheprojectsubmodulecoding;thethirdstageoftheprojectofcomprehensivetestingandsystemintegrationtesting.Inthedevelopmentprocess,becausetheObjective-Clanguagecannotbecrossplatform,soonlyintheOSXencode,atpresent,basedonendofmobilephoneclientofIOSmusicplayeronlinetestinghasbeendonetoexpectedresults.Keywords:MusicPlayer;iOS;Objective-C目錄257361前言 1170541.1軟件開發(fā)背景及意義 1201071.2發(fā)展現(xiàn)狀及趨勢 16211.3主要研究方法及過程 2166982相關(guān)技術(shù)簡介 343912.1OC語音簡介 3269572.2AVaudioplayer技術(shù) 35832.2.1AVaudioplayer的體系結(jié)構(gòu) 3101202.2.2AVaudioplayer混頻原理 4107222.3JDK技術(shù) 5175173需求分析 7266773.1功能需求 7230623.1.1播放器的基本控制需求 716533.1.2功能需求分析 7282313.2運行及其它需求分析 8223223.3可行性分析 8178563.3.1經(jīng)濟及技術(shù)可行性 878923.3.2運行及法律可行性 98444軟件結(jié)構(gòu)及界面設(shè)計 10308884.1打開文件菜單下的詳細設(shè)計 13128254.1.1打開文件設(shè)計 13244244.1.2退出系統(tǒng)設(shè)計 1323784.2播放菜單下的詳細設(shè)計 14312674.3顯示菜單下的詳細設(shè)計 1441704.4幫助菜單下的詳細設(shè)計 15141264.5播放列表的詳細設(shè)計 16235904.6播放按鈕的詳細設(shè)計 17243895.結(jié)論 19770參考文獻 2018156外文翻譯 2118156致謝 21前言1.1課題來源及研究背景 當(dāng)今社會的生活節(jié)奏越來越快,人們對手機的要求也越來越高,由于手機市場發(fā)展迅速,使得手機操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場上主要有三大手機操作系統(tǒng),Windowsphone,Android,以及iOS操作系統(tǒng),其中iOS系統(tǒng)有很大的發(fā)展前景。那么能否在手機上擁有自己編寫的個性音樂播放器呢,本文的音樂播放器就是基于iOS手機平臺的播放器。1.2開發(fā)目的及意義 現(xiàn)今社會生活緊張,而欣賞音樂是其中最好的舒緩壓力的方式之一。隨著人們的生活水平越來越高,人們對音樂的需求也越來越高,而傳統(tǒng)的音樂播放器又限于手機內(nèi)存,在音樂的分類和管理上有著很大的局限性。本設(shè)計的實現(xiàn)的是對音樂能夠控制播放,暫停,停止,上一曲,下一曲,音量調(diào)節(jié),視覺外觀,播放列表和歌曲文件的管理操作等多種播放控制功能,界面簡明,操作簡單。添加了對網(wǎng)絡(luò)音樂的支持,使得手機只需要聯(lián)網(wǎng)就會瞬間擁有百萬首歌曲,不必在局限于手機內(nèi)存。豐富的歌曲分類功能,使得繁多網(wǎng)絡(luò)歌曲的管理,更加的僅僅有條。這樣就打破的傳統(tǒng)播放器內(nèi)存的限制,是人們能夠享受到更加豐富的歌曲。本項目是一款基于iOS手機平臺的音樂播放器,使iOS手機擁有個性的多媒體播放器,使手機顯得更生動靈活化,與人們更為接近,讓手機主人隨時隨地處于音樂視頻的旋律之中。使人們的生活更加多樣化。也使設(shè)計者更加熟練iOS的技術(shù)和其它在市場上的特點。1.3課題研究內(nèi)容 本系統(tǒng)緊跟當(dāng)前移動手機開發(fā)趨勢,使用Objective-c語言開發(fā)一個基于iOS平臺的音樂播放娛樂系統(tǒng),實現(xiàn)基于iOS平臺的音樂播放娛樂系統(tǒng)的基本功能。歌的切換以及列表顯示,在聽歌的同時能夠更好娛樂1.4論文的組織與結(jié)構(gòu) 第一章為緒論,介紹了本文的選題背景和意義,總結(jié)國內(nèi)外音樂播放器研究現(xiàn)狀,同時對論文研究內(nèi)容安排進行闡述。第二章對系統(tǒng)中涉及的相關(guān)理論和關(guān)鍵技術(shù)進行了研究,對Objective-C開發(fā)語言、iphone手機系統(tǒng)和MacOS相關(guān)技術(shù)進行了介紹和分析。第三章對系統(tǒng)進行研究,闡述了系統(tǒng)的功能和性能和UI界面的設(shè)計和實現(xiàn)。第四章在前面三章基礎(chǔ)上研發(fā)出iPhone的音樂播放軟件,同時,對系統(tǒng)各模塊設(shè)計和實現(xiàn)進行分析,其中對關(guān)鍵技術(shù)給出了詳細實現(xiàn)過程。最后是論文的總結(jié)。2.相關(guān)技術(shù)概述2.1系統(tǒng)架構(gòu)及開發(fā)環(huán)境簡介 開發(fā)iOS軟件需要使用蘋果官方發(fā)布的Xcode工具軟件,Xcode軟件目前已更新到第6版本,是一款相當(dāng)強大的開發(fā)工具。使用Xcode我們將按圖2-1來實現(xiàn)播放器的功能。用戶基本操作用戶基本操作播放暫停上一首下一首快進快退播放模式單曲循環(huán)順序播放隨機播放圖2-1播放器功能圖2.2音樂播放器應(yīng)用控件及組件介紹 開發(fā)iOS軟件使用OC語言,并使用蘋果公司所開發(fā)集成的Xcode軟件,開發(fā)音樂播放器需使用到下列方法。SystemSoundServicesSystemSoundServices是最底層也是最簡單的聲音播放服務(wù),調(diào)用AudioServicesPlaySystemSound這個方法就可以播放一些簡單的音頻文件,使用此方法只適合播放一些很小的提示或者警告音,因為它有很多限制:如:聲音長度要小于30秒、InlinearPCM或者IMA4(IMA/ADPCM)格式的打包成.caf,.aif,或者.wav的文件、不能控制播放的進度、調(diào)用方法后立即播放聲音、沒有循環(huán)播放和立體聲控制,另外,它還可以調(diào)用系統(tǒng)的震動功能,方法也很簡單。具體的代碼可以參考官方的示例

SysSound,但是官方的示例只有一些簡單的用法,從文檔中我們發(fā)現(xiàn)可以通過AudioServicesAddSystemSoundCompletion方法為音頻播放添加CallBack函數(shù),有了CallBack函數(shù)我們可以解決不少問題,比如可以克服SystemSoundServices本身不支持循環(huán)播放的問題。AVAudioPlayer類AVAudioPlayer是AVFoundation.framework中定義的一個類,所以使用要先在工程中引入AVFoundation.framework。我們可以把AVAudioPlayer看作是一個高級的播放器,它支持廣泛的音頻格式,主要是以下這些格式:AAC、AMR(AdaptiveMulti-Rate,aformatforspeech)、ALAC(AppleLossless)、iLBC(internetLowBitrateCodec,anotherformatforspeech)、IMA4(IMA/ADPCM)、linearPCM(uncompressed)、μ-lawanda-law、MP3(MPEG-1audiolayer3

。AudioQueueServices如果以上兩種音頻播放的解決方案都無法滿足你的需求,那么我想你肯定需要使用AudioQueueServices。使用AudioQueueServices對音頻進行播放,你可以完全實現(xiàn)對聲音的控制。例如,你可以在聲音數(shù)據(jù)從文件讀到內(nèi)存緩沖區(qū)后對聲音進行一定處理再進行播放,從而實現(xiàn)對音頻的快速/慢速播放的功能。MPMusicPlayerController有兩種播放器可以選擇,一種是applicationmusicplayer,另外一種是iPodmusicplayer。第一種播放器是一種內(nèi)部播放器,當(dāng)程序?qū)Τ龊笸V共シ?;而第二種播放器則與iPod播放器內(nèi)的信息相關(guān),退出之后不會停止播放。在播放之前需要設(shè)置隊列。MPMoviePlayerControllerMPMoviePlayerController與AVAudioPlayer有點類似,前者播放視頻,后者播放音頻,不過也有很大不同,MPMoviePlayerController可以直接通過遠程URL初始化,而AVAudioPlayer則不可以。不過大體上用起來感覺差不多。格式支持:MOV、MP4、M4V、與3GP等格式,還支持多種音頻格式2.3音樂播放器的生命周期 音樂播放器行業(yè)市場供給分析及市場供給預(yù)測包括現(xiàn)在音樂播放器行業(yè)市場供給量估計量和預(yù)測未來音樂播放器行業(yè)市場的供給能力。音樂播放器行業(yè)市場需求分析及音樂播放器行業(yè)市場需求預(yù)測包括現(xiàn)在音樂播放器行業(yè)市場需求量估計和預(yù)測音樂播放器行業(yè)未來市場容量及產(chǎn)品競爭能力。通常采用調(diào)查分析法、統(tǒng)計分析法和相關(guān)分析預(yù)測法。音樂播放器行業(yè)市場需求層次和各類地區(qū)市場需求量分析即根據(jù)各市場特點、人口分布、經(jīng)濟收入、消費習(xí)慣、行政區(qū)劃、暢銷牌號、生產(chǎn)性消費等,確定不同地區(qū)、不同消費者及用戶的需要量以及運輸和銷售費用。音樂播放器行業(yè)市場競爭格局包括市場主要競爭主體分析,各競爭主體在市場上的地位,以及行業(yè)采取的主要競爭手段等;估計音樂播放器行業(yè)產(chǎn)品生命周期及可銷售時間即預(yù)測市場需要的時間,使生產(chǎn)及分配等活動與市場需要量作最適當(dāng)?shù)呐浜?。通過市場分析可確定產(chǎn)品的未來需求量、品種及持續(xù)時間;產(chǎn)品銷路及競爭能力;產(chǎn)品規(guī)格品種變化及更新;產(chǎn)品需求量的地區(qū)分布等。音樂播放器行業(yè)市場分析報告可為客戶正確制定營銷策略或投資策略提供信息支持。企業(yè)的營銷策略決策或投資策略決策只有建立在扎實的市場分析的基礎(chǔ)上,只有在對影響需求的外部因素和影響購、產(chǎn)、銷的內(nèi)部因素充分了解和掌握以后,才能減少失誤,提高決策的科學(xué)性和正確性,從而將經(jīng)營風(fēng)險降到最低限度。2.4音樂播放器應(yīng)用技術(shù)的介紹 Objective-C是非常實際的語言。它是一個用C寫成、很小的運行庫,只會令應(yīng)用程序的尺寸增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時間會取代了整個系統(tǒng)的運作相反。Objective-C寫成的程序通常不會比其原始碼大很多。而其函式庫(通常沒附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反。因此,Objective-C它完全兼容標(biāo)準(zhǔn)C語言(C++對C語言的兼容僅在于大部分語法上,而在ABI(ApplicationBinaryInterface)上,還需要使用extern"C"這種顯式聲明來與C函數(shù)進行兼容),而在此基礎(chǔ)上增加了面向?qū)ο缶幊陶Z言的特性以及Smalltalk消息機制。Xcode最新版本是Xcode6,整合了蘋果在WWDC大會上發(fā)布的新語言Swift。3系統(tǒng)分析2.1可行性分析可行性分析指的是對APP需求的主要內(nèi)容以及開發(fā)條件全面分析,例如市場需求分析、資源供應(yīng)、建設(shè)規(guī)模大小、制造工藝路線、型號、籌措資金、盈利方式等。從各個方面(技術(shù)、經(jīng)濟、規(guī)模)統(tǒng)籌分析,計算出預(yù)算、客觀地預(yù)估經(jīng)濟收益。來判定該項目是否可行。從而提出該項目是否值得投資以及意見,為項目決策提供了有力依據(jù)的一種綜合性的系統(tǒng)分析方案。2.1.1經(jīng)濟可行性分析既然我們選擇了做APP,我們必不可少的要關(guān)注經(jīng)濟可行性分析。比如我們APP的贏利點在什么地方、我們在開發(fā)過程中需要計算我們開發(fā)這個項目的資金成本、時間成本、是否我們后期的收益可以彌補這些前期的投入。當(dāng)然我們也不能一味的去追求經(jīng)濟效益。經(jīng)濟可行性分析中的“經(jīng)濟”不僅僅是普遍意義上的經(jīng)濟,也代表著社會經(jīng)濟效益。所以在開發(fā)中我不們開發(fā)者不能時時刻刻著想著錢,更應(yīng)該從更多更片面的角度去看待經(jīng)濟可行性分析工作。一般來講,開發(fā)APP的成本花銷主要由以下四部分組成的:1)購置、安裝軟硬的費用。2)系統(tǒng)開發(fā)的費用。3)系統(tǒng)安裝、運行、維護的費用。4)員工培訓(xùn)的費用。所以結(jié)合畢設(shè)的整個開發(fā)過程可以知道開發(fā)網(wǎng)絡(luò)音樂播放盒所需要的全部軟件平臺都是免費的,所以從經(jīng)濟可行性上來看是完全可行的。2.1.2技術(shù)可行性分析技術(shù)可行性也是開發(fā)一款A(yù)PP必不可少的工作。這個工作要求開發(fā)人員根據(jù)自身或者團隊的整體技術(shù)能力來判斷需求是否能滿足客戶需求。哪一些我們現(xiàn)在的能力可以完全勝任,又有哪一些我們需要調(diào)研學(xué)習(xí)之后可以做到,還有哪一些我們做不到,需要更優(yōu)秀的人才來補充。這個過程中我們要做充分的考察,尤其是在遇到了我們可能無法解決的問題的時候,我們不要輕易地說放棄。我們要充分利用互聯(lián)網(wǎng)帶來的便利,我們可以去網(wǎng)上去搜素相關(guān)的資源。這一切的一切最終的目的就是要盡最大可能去滿足客戶的需求。但本畢設(shè)因為只是我一個人在做并且項目涉及的業(yè)務(wù)邏輯也并不是很復(fù)雜,所以技術(shù)可行性分析我并沒有太多去考慮。2.2需求分析需求分析是指在建立一個新的APP的時候,對這個APP的目的、定義、功能這些方面所要做的工作進行統(tǒng)一規(guī)劃。需求分析是完成一APP不可或缺的部分。開發(fā)APP的過程中,我們必須跟客戶先進行一個認真的溝通并大致地了解客戶的需求。然后我們根據(jù)客戶的需求來做產(chǎn)品設(shè)計,做完之后將產(chǎn)品設(shè)計上交給客戶,讓客戶來提修改意見。如此反復(fù)我們才能最終敲定好一款A(yù)PP的外形。萬丈高樓平地起,我們不要忽視這個過程,更不能懈怠這個過程。因為如果我們在這個過程中進展的很成功,那么我們后期開發(fā)起來會非常得心應(yīng)手。如果外形靚麗、小巧靈活的mini音樂播放盒卻很受年輕人們的青睞。市場的發(fā)展前景不容忽視。綜上,設(shè)計音樂播放盒子的重點要偏向于靚麗的外觀和吸引人的性能表現(xiàn),小體積卻能夠?qū)崿F(xiàn)相對更多的功能。新型的mini音樂播放盒也要附加功能,這樣就能夠更好地抓住用戶的眼球。2.3系統(tǒng)定義針對基于iOS系統(tǒng)酷狗APP的需求分析,實現(xiàn)基本的音樂播放器功能,并允許用戶訪問豆瓣服務(wù)器,播放豆瓣服務(wù)器的多媒項目。2.4功能需求此次APP的設(shè)計的大致運行流程:首先,用戶在蘋果設(shè)備APP,立馬映入眼簾的是APP的新版本介紹新特性。新特性描述了新版本音樂播放盒所具備的改動與新添加的功能。因為APP所用的資源幾乎都來自Internet,因此,新特性只是完成一個功能的體現(xiàn)新特性是通過手勢滑動UIScrollView來完成的,最后一頁有進入按鈕,單擊這個進入按鈕,可以直接進入到APP的主界面。程序的主界面分為兩條路線。之所以是兩條路線,后面的系統(tǒng)設(shè)計會有提到。一條路線為本地音樂,另一條路線為網(wǎng)絡(luò)音樂。本地音樂—用戶可以對其中的單個或者多個歌曲進行收藏、播放、暫停、刪除等個性化操作。滿足用戶最基本的需求的同時還可以動態(tài)瀏覽播放歌曲的歌詞。本地音樂列表的操作是可以單曲操作,也可以批量操作。還可以瀏覽音樂的詳情(歌手、歌詞、時長、專輯)。網(wǎng)絡(luò)音樂通過驗證登錄豆瓣服務(wù)器,獲取多媒體音樂文件。我們在對回傳的Json格式的數(shù)據(jù)進行解析從而得到多媒體資源,APP可以訪問電臺,用戶可以根據(jù)自己的洗好來選擇自己偏愛的電臺。網(wǎng)絡(luò)音樂用例圖如圖2-1所示。UUser對音樂列表的操作播放歌曲暫停歌曲上一首、下一首、快進登陸豆瓣電臺搜索歌曲退出圖2-1網(wǎng)絡(luò)音樂用例圖3.系統(tǒng)設(shè)計3.1功能描述隨著移動端互聯(lián)網(wǎng)的普及,智能手機已漸漸地漸被人們接受。它也成為了移動互聯(lián)網(wǎng)經(jīng)濟主體的一個重要成分,智能手機被越來越多人所接受、習(xí)慣;移動APP是基于操作系統(tǒng)開發(fā)。越來越多、各式各樣的功能層出不窮。Android系統(tǒng)的開源性導(dǎo)致了移動客戶端的質(zhì)量參差不齊,但是由于iOS限制了開發(fā)者開發(fā)中必備的條件,因此,本程序只能在MAC模擬器上或者iPhone設(shè)備上使用,無法在APPLEAPPStore上下載。首先,用戶在蘋果設(shè)備APP,立馬映入眼簾的是APP的新版本介紹新特性。新特性描述了新版本音樂播放盒所具備的改動與新添加的功能。因為APP所用的資源幾乎都來自Internet,因此,新特性只是完成一個功能的體現(xiàn),并不是真正意義上的新特性描述次版本的新功能,在APP的使用過程中,請不要將新特性描述放到關(guān)注重心上。新特性是通過手勢滑動UIScrollView來完成的,最后一頁有進入按鈕,單擊這個進入按鈕,可以直接進入到APP的主界面。APP主頁有兩個選項卡。之所以是兩條路線,后面的系統(tǒng)設(shè)計會有提到。其中一個選項卡為本地音樂,另一個選項卡為網(wǎng)絡(luò)音樂。其中本地音樂是通過文件歸檔到SandBox(本地保存Plist文件)對音樂的保存。而網(wǎng)絡(luò)音樂是利用主界面上的登陸按鈕驗證連接豆瓣的服務(wù)器,來訪問外網(wǎng)服務(wù)器資源。本地音樂—用戶可以對其中的單個或者多個歌曲進行收藏、播放、暫停、刪除等個性化操作。滿足用戶最基本的需求的同時還可以動態(tài)瀏覽播放歌曲的歌詞。本地音樂列表的操作是可以單曲操作,也可以批量操作。還可以瀏覽音樂的詳情(歌手、歌詞、時長、專輯)。網(wǎng)絡(luò)音樂通過驗證登錄豆瓣服務(wù)器,獲取多媒體音樂文件。進入網(wǎng)絡(luò)音樂頁面,我們看到了兩個選項卡,一個是“歌手”選項卡,一個是“電臺”選項卡,歌手選項卡是通過搜索歌手的姓名來搜索音樂的,同是提供下載、播放、瀏覽。默認歌手是劉德華。電臺資源向豆瓣服務(wù)器發(fā)送GET請求,然后服務(wù)器傳遞回來數(shù)據(jù)。我們在對回傳的json格式的數(shù)據(jù)進行解析從而得到多媒體資源。服務(wù)器上已經(jīng)將同類別頻道的音樂歸并到一起了,這使得APP可以訪問電臺,用戶可以根據(jù)自己的洗好來選擇自己偏愛的電臺。3.2系統(tǒng)功能模塊化設(shè)計3.2.1新特性模塊顯示的條件:首次進入APP||判斷info.Plist中的version如果與上一版本不符。此功能主要是讓用戶更好、更快地了解APP包含的新功能、已經(jīng)修復(fù)的內(nèi)容。此功能適用以營利為目的的商業(yè)客戶需求,為追求更好的用戶體驗而制作的。因為資源有限,所以本模塊功能基本來源于網(wǎng)絡(luò),不能用于與商業(yè)。3.2.2本地列表模塊本地列表模塊主要包含以下幾個功能:修改功能:單擊界面上的“pen”圖標(biāo),可對列表中的歌曲進行修。列表的修改可以是單個歌曲,同樣也可以多個歌曲。其中修改操作包括模式修改(模式修改指的是,用戶在播放音樂的時候選擇的播放順序:隨機、順序、循環(huán)、單曲4個模式)、全選、加載(加載存儲在本地資源包中的Plist文件,因為本APP采取DE是以Plist的方式存儲,因此無法修改。又由于iOS的封閉性,導(dǎo)致了無法瀏覽本地音樂。所以此功能算是一個比較限制用戶體驗的功能;刪除(此功能可以與全選功能配合,也可以對單個歌曲進行操作。)。音樂播放功能:本APP的名字就是音樂播放器,那么自然音樂播放成為了它的核心內(nèi)容。此功能利用了OC語言分裝的AVAudioPlayer類實現(xiàn)播放功能歌詞瀏覽功能:此功能可以瀏覽存儲在本地SandBox的歌詞文件,因為部分的歌詞文件兼容很差,所以有時會顯示亂碼,但基本不影響用戶的正常使用。單一歌曲操作功能:對選擇的歌曲個性化地放到我喜歡數(shù)組中(平時可以單獨地播放我喜歡列表,這樣可以完善了更好的用戶體驗)。3.3系統(tǒng)總體結(jié)構(gòu)圖根據(jù)需求調(diào)研結(jié)果確定APP主要包括以下幾個功能模塊。系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。圖3-1系統(tǒng)功能結(jié)構(gòu)圖3.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫設(shè)計概述從1980至今,數(shù)據(jù)庫技術(shù)在商業(yè)領(lǐng)域的巨大刺激下以及客戶對數(shù)據(jù)庫技術(shù)需求的迅速增長,致使數(shù)據(jù)庫技術(shù)得到了飛速的發(fā)展。尤其表現(xiàn)在:數(shù)據(jù)庫和各平臺的相互嵌入。眾所周知,SQLite是基于嵌入式的方式開發(fā)的,所以SQLite或者其他的數(shù)據(jù)庫都可以和各種平臺合理的嵌入,這就使得數(shù)據(jù)庫領(lǐng)域有各式各樣的變化與組合,這里我們有兩種方式來設(shè)計數(shù)據(jù)庫:一:以信息需求為主,處理需求為輔。這種方法稱為面向數(shù)據(jù)的數(shù)據(jù)庫設(shè)計方法;二:以處理需求為主,信息需求為輔。這種方法稱為面向過程的數(shù)據(jù)庫設(shè)計方法。數(shù)據(jù)庫設(shè)計的特點如下:1.反復(fù)性(Iterative)。2.試探性(Tentative)。3.分步進行。數(shù)據(jù)庫設(shè)計的過程6各階段:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫物理設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護在設(shè)計的過程中我們應(yīng)該包含兩方面的內(nèi)容:(1)數(shù)據(jù)結(jié)構(gòu)設(shè)計:也就是設(shè)計數(shù)據(jù)庫框架和數(shù)據(jù)庫結(jié)構(gòu),數(shù)據(jù)庫模式是各應(yīng)用程序共享的結(jié)構(gòu),是穩(wěn)定的、永久的結(jié)構(gòu),所以一個數(shù)據(jù)庫的合理設(shè)計可以讓我們后期的開發(fā)奠定一個良好的開始與基礎(chǔ)。(2)行為(處理)設(shè)計:即設(shè)計應(yīng)用程序、事務(wù)處理等結(jié)構(gòu)特性不能與行為特性分離。靜態(tài)的結(jié)構(gòu)特性的設(shè)計與動態(tài)的行為特性的設(shè)計分離,會導(dǎo)致數(shù)據(jù)與程序不易結(jié)合,增加數(shù)據(jù)庫設(shè)計的復(fù)雜性。3.3.2E-R圖簡述我理解中的ER圖:將功能模型與數(shù)據(jù)模型的關(guān)系以圖形的方式展示給開發(fā)人員。這樣便于我們理解內(nèi)容聯(lián)系。更直觀、更容易理解。實體型:用矩形表示,矩形框內(nèi)寫明實體名;屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來;聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名。3.3.3系統(tǒng)數(shù)據(jù)庫設(shè)計針對播放盒APP的特點,數(shù)據(jù)庫設(shè)計各個部分的數(shù)據(jù)項與數(shù)據(jù)結(jié)構(gòu)如下所示。本地音樂模型圖如圖3-2所示。豆瓣登陸E-R圖如圖3-3所示。圖3-2本地音樂豆瓣登陸Alta豆瓣登陸AltavatarcreateddescIs_bannedIs_suicideIoc_idloginnametypesignatureuid其主要的表結(jié)構(gòu)如下。我的音樂表如表3-1所示,豆瓣服務(wù)器表如表3-2所示。表3-1我的音樂表字段名說明類型長度可否為空主鍵Name歌曲名稱String50否主鍵Singer歌手名稱String10是Time歌曲時長String4否Index索引String8否Geci歌詞文件String50是Playurl播放地址String1000否表3-2豆瓣服務(wù)器字段名說明類型長度可否為空主鍵Alt網(wǎng)址String300否主鍵avatar頭像String300是created創(chuàng)建時間String10否desc描述String100否Is_banned字段Boolean1是Is_suicide字段Boolean1否Large_avatar大圖String10否Loc_idIDString10否login登陸B(tài)oolean1否signature字段String10否type類型String10否uidIDString1000否4.系統(tǒng)實現(xiàn)4.1UI實現(xiàn) 播放器播放界面功能實現(xiàn)播放功能的具體代碼如下:-(void)startMusic{openOrClose++;if(openOrClose%2==1){[startButtonsetBackgroundImage:[UIImageimageNamed:@"play_bar_passed.png"]forState:UIControlStateNormal];[smallProgressViewprogressViewBegin];currentMusicName.text=[musicArrayobjectAtIndex:curMusicNumber];NSURL*audioFileUrl=[NSURLfileURLWithPath:[[NSBundlemainBundle]pathForResource:[musicArrayobjectAtIndex:curMusicNumber]ofType:@"mp3"]];audioPlay=[[AVAudioPlayeralloc]initWithContentsOfURL:audioFileUrlerror:nil];audioPlay.delegate=self;[audioPlayplay];[smallProgressViewtheTotalTimeOfMusic:audioPlay.duration];inti=(int)audioPlay.duration/60;intj=(int)audioPlay.duration%60;totalTime.text=[NSStringstringWithFormat:@"%02d:%02d",i,j];[lastArrayaddObject:[musicArrayobjectAtIndex:curMusicNumber]];}else{[startButtonsetBackgroundImage:[UIImageimageNamed:@"playarticle_play.png"]forState:UIControlStateNormal];[smallProgressViewprogressViewStop];}}播放功能的實現(xiàn)是通過AVAudioPlayer類庫來實現(xiàn)的,其中audioFileUrl是要播放音樂的本地路徑。在播放的過程中通過自己封裝的進度條類來判斷歌曲播放的時間。4.2功能實現(xiàn) 播放進度的跟蹤顯示在播放音樂的時侯,我們希望可以看到播放的進度,通過拉動進度條來方便快捷的實現(xiàn)對歌曲的快進,快退的功能。通過創(chuàng)建一個計時器,利用計時器來實時更新進度條。而進度條的進度顯示是用UISlider控件控件。其value的值為0到1,利用正在播放的時間與一共的時長之比來控制UISlider的值,達到進度條的跟著顯示。UISlider具有一個change事件,可以改變value的值來設(shè)置當(dāng)前播放的一個進度,來達到一個快進,快退的功能具體代碼如下:-(id)init{if(self==[superinit]){self.curTime=[[UILabelalloc]init];self.curTime.backgroundColor=[UIColorclearColor];self.curTime.font=[UIFontsystemFontOfSize:12];self.curTime.textColor=[UIColorwhiteColor];}returnself;}-(double)theTotalTimeOfMusic:(double)totalTime{allTime=totalTime;returnallTime;}-(double)theTimeOfMusicRun{returntheTimeHaveRun;}-(void)progressViewBegin{theTimeHaveRun=0.0;if(theTimeHaveRun<=allTime){time=[NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(changeProgressView)userInfo:nilrepeats:YES];}}-(void)progressViewStop{[timeinvalidate];}-(void)progressViewGoOnRunning-(void)changeProgressView{theTimeHaveRun+=1.0;if(theTimeHaveRun>allTime){[timeinvalidate];}else{[selfsetProgress:theTimeHaveRun/allTime];}inti=(int)theTimeHaveRun/60;intj=(int)theTimeHaveRun%60;curTime.text=[NSStringstringWithFormat:@"%02d:%02d",i,j];}其中init方法是自動生成本身的元素,在此類中包含了進度條開始的方法,進度條暫停的方法,進度條改變的方法,以及向其他的類傳輸數(shù)據(jù)的方法,例如傳輸播放了多長的時間等等。歌詞的同步顯示有了以上功能,對歌詞的顯示以上一個必不可少的功能。即是以“時間+歌詞”的格式存儲。那么歌詞的顯示形式主要是通過播放的時間與歌詞顯示的時間相對比,如果一致則顯示。因此,通過將歌詞和時間分別用兩個數(shù)組裝入,當(dāng)正在播放的時間與數(shù)組中某個時間相對應(yīng)的時侯,顯示出當(dāng)前的歌詞。界面上的顯示方式主要是通過UILable來顯示的。有的人不喜歡一句一句的看歌詞,想看更多的歌詞,那么就加入了全屏歌詞的顯示。全屏顯示的歌詞采用的是將所有的歌詞裝入可變字符串,并對每一句添加分隔符,裝入UItextView中,通過正在播放時間與歌詞的時間對比,來調(diào)整UItextView內(nèi)容的高度。而textview具有著滑動的動畫效果,使得整個歌詞上移的效果更加平滑代碼如下-(id)init{if(self==[superinit]){musicLicArray=[[NSMutableArrayalloc]initWithCapacity:0];totalLicArray=[[NSMutableArrayalloc]initWithCapacity:0];getAllOfMusicLrc=[[NSMutableArrayalloc]initWithCapacity:0];lineOfMusicLrc=0;}returnself;}-(void)getTheMusicLicStr:(NSString*)str{musicLicArray=[NSMutableArrayarrayWithArray:[strcomponentsSeparatedByCharactersInSet:[NSCharacterSetcharacterSetWithCharactersInString:@"[\n"]]];[musicLicArrayremoveObject:@""];for(NSString*stringinmusicLicArray){NSMutableArray*son=[[NSMutableArrayalloc]initWithCapacity:0];NSArray*arr=[stringcomponentsSeparatedByString:@"]"];NSArray*num=[[arrobjectAtIndex:0]componentsSeparatedByCharactersInSet:[NSCharacterSetcharacterSetWithCharactersInString:@":."]];CGFloatnu=[[numobjectAtIndex:0]integerValue]*6000+[[numobjectAtIndex:1]integerValue]*60+[[numobjectAtIndex:2]integerValue];NSString*number=[NSStringstringWithFormat:@"%.0f",nu];//[sonsetObject:[arrobjectAtIndex:1]forKey:number];[sonaddObject:number];[sonaddObject:[arrobjectAtIndex:1]];[totalLicArrayaddObject:son];}for(inti=0;i<[totalLicArraycount];i++){[getAllOfMusicLrcaddObject:[[totalLicArrayobjectAtIndex:i]objectAtIndex:1]];}}-(NSString*)getTheTimeOfMusic:(double)time{doubledoi=time*100;for(inti=0;i<[totalLicArraycount];i++){if(doi>=[[[totalLicArrayobjectAtIndex:i]objectAtIndex:0]doubleValue]&&doi<[[[totalLicArrayobjectAtIndex:i+1]objectAtIndex:0]doubleValue]){lineOfMusicLrc=i;return[[totalLicArrayobjectAtIndex:i]objectAtIndex:1];}}returnnil;}-(NSMutableArray*)getTheTotilOfMusicLrc{returngetAllOfMusicLrc;}-(NSInteger)getTheNmuberOfMusicLrc{returnlineOfMusicLrc;}本段代碼的運行過程是,在歌曲開始進行播放后,將播放的歌曲名傳給此類,此類從自己相應(yīng)的地方得到全部的歌詞。歌詞是以lrc格式存儲起來的,歌詞類得到全部歌詞后,根據(jù)自己的相應(yīng)方法,將全部的歌詞分成一句句的顯示在相應(yīng)的UITableView上。其中將全部歌詞變成一句句的方法是getTheMusicLicStr。此方法根據(jù)得到的歌詞格式進行分割字符串,并將每一句以字符串的形式存儲到totalLicArray數(shù)組中。播放列表功能重要代碼如下:-(void)downLoadFromUrl:(NSURL*)url{myData=[[NSMutableDataalloc]init];NSURLRequest*request=[NSURLRequestrequestWithURL:url];myConnection=[[NSURLConnectionalloc]initWithRequest:requestdelegate:self];}-(void)connection:(NSURLConnection*)connectiondidReceiveData:(NSData*)data{[myDataappendData:data];}-(void)connection:(NSURLConnection*)connectiondidReceiveResponse:(NSURLResponse*)response{[myDatasetLength:0];}-(void)connectionDidFinishLoading:(NSURLConnection*)connection{if([delegaterespondsToSelector:@selector(downLoadComplited:)]){[delegatedownLoadComplited:self];}}播放列表主要采用了表示圖:UITableView來進行顯示。這樣可以更加直觀,更加方便的顯示數(shù)據(jù)??梢酝ㄟ^設(shè)置它的代理UITableViewDelegate。實現(xiàn)的主要形式是:設(shè)置tableView的組件為1個:numberOfSectionsInTableView:,設(shè)置行數(shù):numberofRowsInSection:,設(shè)置每行的內(nèi)容:cellForRowAtIndexPath。當(dāng)點擊的時侯會出發(fā)didselect事件,實現(xiàn)歌曲的播放。搜索功能網(wǎng)絡(luò)歌曲的搜索對于快速查找到自己想找的歌曲是十分有必要的。這里選擇的歌曲搜索庫是來至于網(wǎng)絡(luò)的。比如我們選擇一首叫滴答的歌曲。只需要使用ASIHttpRequest來請求接口:/music.so?query=%B5%CE%B4%F0&class=1&st=&ac=1&pf=&_asf=&_ast=1338472690&p=&w=&w=02009900&sut=3384&sst0=滴答。這就是搜狗的一個搜索頁面,通過它來獲取需要的歌曲信息。對于獲取到的字符串信息,可以通過UItableview來顯示。4.3存儲操作實現(xiàn) 實體聯(lián)系模型主要是由實體、屬性以及實體之間的聯(lián)系組成[12]。通過對現(xiàn)實世界的概念模型的抽象,確立實體為歌曲、歌詞、用戶。根據(jù)音樂播放器的功能需求的分析結(jié)果,得出數(shù)據(jù)庫的E-R圖5-5如下所示:根據(jù)數(shù)據(jù)字典中的數(shù)據(jù)存儲、數(shù)據(jù)流、處理邏輯、實體的屬性及以上數(shù)據(jù)庫設(shè)計中的概念結(jié)構(gòu)設(shè)計模型,建立相關(guān)表進而得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計,即數(shù)據(jù)庫表。結(jié)束語在經(jīng)過為期兩個月的畢業(yè)設(shè)計后,基于iOS的音樂播放器的功能得以實現(xiàn)。在開發(fā)之初就應(yīng)該想好總體框架結(jié)構(gòu)以及如何進行每一步的操作。開發(fā)者需要有清晰地邏輯思路并以科學(xué)的方法來開發(fā)應(yīng)用。本設(shè)計的題目為“基于iOS的音樂播放器的設(shè)計與實現(xiàn)”。音樂播放器設(shè)計的主要內(nèi)容是進行音樂的播放、下載等功能模塊的實現(xiàn)上。因此為能夠很好的實現(xiàn)系統(tǒng)設(shè)計目標(biāo),突出音樂播放器所需實現(xiàn)功能,在開發(fā)過程中,由于自己開始沒有思考全面導(dǎo)致后來開發(fā)程序的過程中出現(xiàn)了一些偏差,以至于使自己引入了許多的變量來標(biāo)志這些數(shù)組、UItableView。本人開發(fā)的這款音樂播放器的特點是幾乎所有的操作都在一個視圖控制器中進行,而UItableView的顯示、選擇也只能都在這一個視圖中進行。使每一個產(chǎn)生的UItableView都只能運行這個控制器中的唯一的顯示、選擇方法。在開發(fā)到最后發(fā)現(xiàn)自己在這控制器中增加變量的方法,很是繁瑣,后悔開始時為何不將UItalbeView單獨寫成一個類,在類中添加他自己的標(biāo)志變量。這程序中所有的UItableView,他們具有不同的關(guān)系。他們之間的關(guān)系,在運行程序的過程中與哪個引導(dǎo)出了哪個,以便程序可以按照原路返回。由于自己開發(fā)經(jīng)驗不足知識有限,在開發(fā)過程中出現(xiàn)了許多冗余代碼。在設(shè)計中同樣遇到很多之前調(diào)試系統(tǒng)所沒有遇到過的異常、錯誤信息。通過這次設(shè)計本人得到的啟示是在開發(fā)過程中要有清晰地設(shè)計思路,盡量簡化設(shè)計。同時通過這次的設(shè)計使自己更好地了解到在知識方面的不足,明確今后需要努力的方向。參考文獻[1]葉佳俊基于“云”技術(shù)的音樂播放器設(shè)計.中國量學(xué)院.2012[2][美]DaveMark,JackNutting,JeffLaMarcheiOS5基礎(chǔ)教程.人民郵電出版社.2012[3]馮沖界面中的注意力設(shè)計北京交通大學(xué).2012[4][美]StephenG.Kochan.Objective-C程序設(shè)計[M].電子工業(yè)出版社.2012[5][美]JonatbanZdziarskiAppStore掘金.人民郵電出版社.2010[6][美]DaveMark,JackNutting,JeffLaMarche.iOS基礎(chǔ)教程[M].人民郵電出版社.2012[7]王珊,薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006[8]金福生,李樸之.iOS應(yīng)用程序開發(fā)方法與實踐[M].北京:人民郵電出版社,2012[9]《Objective-C基礎(chǔ)教程[M]》作者:Mark

Dalrymple,Scott

Knaster出版社:人民郵電出版社.[10]《iPhone開發(fā)入門經(jīng)典[M]》作者:John

Ray,Sean

Johnson出版社:人民郵電出版社[11]《認知與設(shè)計:理解UI設(shè)計準(zhǔn)則[M]》作者:Jeff

Johnson出版社:人民郵電出版社[12]凌寧.基于iOS系統(tǒng)的安全性研究[D].北京郵電大學(xué)2014[13]孔曉波.物聯(lián)網(wǎng)概念和演進路徑[J].電信工程技術(shù)與標(biāo)準(zhǔn)化.2009(12)[14]黃濤.褚淑杰.基于紅外通信的智能家居系統(tǒng)[J].微計算機信息2005(01)[15]齊冬梅,杜亞軍,李戰(zhàn)勝.個性化智能搜索引擎爬行蟲算法[J].計算機應(yīng)用.2004(S2)致謝本次畢業(yè)設(shè)計是在***老師指導(dǎo)下完成的。在設(shè)計過程中,趙老師仔細耐心地對我的畢業(yè)設(shè)計任務(wù)及內(nèi)容進行及時指導(dǎo),并在最后對成果系統(tǒng)的設(shè)計說明書做出了全面、合理、仔細得修改批注,竭盡全力幫助我完成本次的畢業(yè)設(shè)計任務(wù)。在這里,忠心表示對趙老師的悉心關(guān)懷和耐心指導(dǎo)的無限感謝與感恩。更重要的是,在設(shè)計的過程,趙老師所具備的嚴(yán)謹(jǐn)求真為學(xué)的務(wù)實精神,也是我之后無論是在學(xué)習(xí)還是在工作中的學(xué)習(xí)榜樣。最后,在這里,也要感謝在大學(xué)四年期間的所有任課老師,感謝他們教授于我的知識。正是老師們的無私付出和認真負責(zé)使我擺正學(xué)習(xí)態(tài)度,樹立人生目標(biāo)不再虛度光陰浪費青春。最后再一次在這里也對所有教過我的老師們表示衷心的感謝。中國地質(zhì)大學(xué)長城學(xué)院本科畢業(yè)論文外文資料翻譯系別:管理科學(xué)與工程系專業(yè):信息管理與信息系統(tǒng)姓名:學(xué)號:2016年3月7日外文資料翻譯譯文一種新的網(wǎng)絡(luò)應(yīng)用程序開發(fā)框架——MVC摘要:MVC(Model/View/Controller)的設(shè)計模式出現(xiàn)在在Smalltalk-80,并在軟件的設(shè)計中廣泛應(yīng)用。本文介紹一種基于MVC框架的的新網(wǎng)絡(luò)應(yīng)用程序。這種框架把實施邏輯與表現(xiàn)形式獨立開來。它也提高了系統(tǒng)的可維護性,可擴展性以及使用模塊數(shù)據(jù)庫備案、模板數(shù)據(jù)庫,通訊對象和緩沖隊列的性能。關(guān)鍵詞:MVC、設(shè)計模式、網(wǎng)絡(luò)應(yīng)用程序1.簡介網(wǎng)絡(luò)應(yīng)用系統(tǒng)是一個基于B(rowser)/S(erver)模型應(yīng)用系統(tǒng)。它利用多種動態(tài)網(wǎng)頁開發(fā)技術(shù)。目前,軟件設(shè)計的主題之一是網(wǎng)絡(luò)應(yīng)用開發(fā)模式和工具的。它們直接影響系統(tǒng)的幾個關(guān)鍵因素,比如可維護性、可擴展性、穩(wěn)定性和安全性。本文中,基于MVC[1]的網(wǎng)絡(luò)應(yīng)用程序的設(shè)計模式是為解決這兩類因素——擴展性和可維護性這些不易處理的問題。把MVC設(shè)計模式引入網(wǎng)絡(luò)應(yīng)用程序開發(fā),執(zhí)行邏輯可以獨立于系統(tǒng)的表現(xiàn)形式。MVC由三種對象組成。1)模型:是應(yīng)用對象,2)視圖:是它的屏幕的顯示,3)控制器:定義用戶界面并對輸入的信息做出響應(yīng)。在出現(xiàn)MVC之前,用戶界面的設(shè)計傾向于把這些東西做在一起。然而,MVC獨立了它們,增加系統(tǒng)的靈活性和可重用性。MVC把視圖和模型獨立開來,在它們之間建立了“subscribe/notify”協(xié)議。一個視圖必須確保其正確反映模型的狀態(tài)。每當(dāng)模型的數(shù)據(jù)發(fā)生改變,視圖會得到相應(yīng)的通知。作為回應(yīng),每個視圖都會有更新自身的機會。這個方法可以讓你附上一個模型的多個視圖以便提供不同的報告。你也可以不改變原模型同時創(chuàng)建新的視圖。2.背景和存在的問題雖然MVC的設(shè)計模式已經(jīng)在smalltalk-80中提出了,并廣泛應(yīng)用于軟件設(shè)計,介紹它到網(wǎng)頁應(yīng)用程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論