第一篇:各種音樂播放器的比較
音樂播放器的評測
現(xiàn)在播放器實(shí)在是多了點(diǎn),有的新手覺得眼花繚亂,不知道選什么,今天就來個(gè)點(diǎn)評,給大家些參考。
一、普通播放器
1:Windows Media Player(系統(tǒng)自帶版本)
這個(gè)是非常常用的播放器,一般網(wǎng)吧、課室都用這個(gè)
優(yōu)點(diǎn):系統(tǒng)自帶,無需安裝。新版本是某些隨身聽播放器傳輸視頻或者音頻必須的軟件。新版本在聲音上有一定改善。
缺點(diǎn):聲音不好聽!含糊不清。對各種格式支持非常不好!ape和flac這類牛B哄哄的格式別指望能播放的了。打開速度慢,系統(tǒng)資源占用多,缺點(diǎn)太多,就不一一贅述了。
音質(zhì)指數(shù):C實(shí)用指數(shù):C
2:搜狗音樂盒、酷我音樂盒、QQ音樂、青蘋果音樂播放器、酷狗音樂
這些都是網(wǎng)絡(luò)播放器,主要功能是讓大家能在播放器內(nèi)直接選擇最新最流行的音樂試聽
優(yōu)點(diǎn):內(nèi)置音樂排行榜,點(diǎn)選熱門歌曲直接播放。
缺點(diǎn):聲音質(zhì)量差,不支持無損格式,轉(zhuǎn)換,修改文件信息等功能缺乏,只適合做試聽之用。
音質(zhì)指數(shù):D實(shí)用指數(shù):D
3:千千靜聽
非常大眾化的一個(gè)播放軟件
優(yōu)點(diǎn):使用方便,修改和編輯文件信息效率高,對各種格式的支持和轉(zhuǎn)換都很好,界面也豐富多彩。官方版本自帶歌詞速配,非常適合想偷懶又想看歌詞的人。聲音還算過得去。軟件還算小巧,占用小。
缺點(diǎn):千千的聲音對追求音質(zhì)的人來說太過馬虎,特別突出的問題是對DTS文件的播放,出來的效果可以用非常差來形容。默認(rèn)的配置使用了均衡器(兩邊高中間低),可以說是扭曲了聲音。
音質(zhì)指數(shù):B+實(shí)用指數(shù):A
4:暴風(fēng)Winamp
曾經(jīng)風(fēng)靡一時(shí)的播放器
優(yōu)點(diǎn):界面華麗(默認(rèn)皮膚來算,如果會(huì)弄的話,很多播放器的皮膚都可以很炫),播放mp3聲音還不錯(cuò)。功能隨著版本更新越來越多。
缺點(diǎn):新版本不支持ape,flac的播放,需要找插件(麻煩)。隨著版本不斷更新,軟件越來越臃腫,無用功能太多。
音質(zhì)指數(shù):B+實(shí)用指數(shù):B
5:jetaudio
能歌善舞的播放器
優(yōu)點(diǎn):這個(gè)是iAUDIO開發(fā)出來的播放器,可以播放視頻,有錄音功能,是個(gè)功能比較多的播放器,并且界面華麗。聲音方面,和iAUDIO隨身聽采用同一風(fēng)格的調(diào)音,中頻稍微凹一下去一點(diǎn)。但是整體聲音還是很不錯(cuò)的。
缺點(diǎn):支持ape,但是不支持CUE(囧rz)。界面為英文,軟件比較臃腫。
音質(zhì)指數(shù):A實(shí)用指數(shù):B-
6:airplay
小巧玲瓏的播放器
優(yōu)點(diǎn):綠色,小巧(只有200多K),打開速度快,有專輯封面自動(dòng)下載功能!
缺點(diǎn):播放質(zhì)量差,播放無損音樂時(shí)爆音很多,一般只是用來下載專輯封面用!封面也不是每張都能找到,外國的很多都找不到。(本軟件為國產(chǎn)軟件)
音質(zhì)指數(shù):E-實(shí)用指數(shù):E
7:foobar2000
強(qiáng)大且實(shí)用的播放器
優(yōu)點(diǎn):基本上支持所有的音頻格式。適合追求音質(zhì)的人使用。功能強(qiáng)大,可以輕松進(jìn)行各種格式轉(zhuǎn)換,并且支持轉(zhuǎn)換格式時(shí)添加DSP。支持asio輸出,聲音干凈。有的版本自帶歌詞速配。由于foobar插件無數(shù),潛力巨大,重采樣到192K,再開asio輸出,聲音會(huì)有明顯提升?。ㄟm合高手)
缺點(diǎn):對新手來說默認(rèn)界面太過簡陋,參數(shù)設(shè)置項(xiàng)看著就頭疼。
音質(zhì)指數(shù):A實(shí)用指數(shù):A+
8:beoplayer
這是個(gè)高貴的播放器
優(yōu)點(diǎn):乃是丹麥著名音響品牌B&O出品的播放器。界面風(fēng)格非常適合高級白領(lǐng)。這個(gè)播放器的調(diào)音很有意思,模仿高級音響晶瑩剔透的感覺,播放mp3時(shí)讓人眼前一亮。
缺點(diǎn):使用不方便,不支持ape和flac,無損里面只支持WAV。英文界面(當(dāng)然也有漢化版),功能不多??梢該Q的皮膚也不多。
音質(zhì)指數(shù):A實(shí)用指數(shù):B-
9:iTunes
平淡而不平凡的播放器
優(yōu)點(diǎn):這個(gè)是蘋果公司開發(fā)的播放器,專門給使用ipod和iphone的人士使用。(當(dāng)然普通人也可以用)使用慣了的話還算方便。平滑的聲音,雖然缺少了激情,但是給人一種歌聲娓娓道來的感覺(調(diào)音和蘋果隨身聽的風(fēng)格一致),屬于mp3播放器中的精品之作。還可以花錢買到正版音樂,有錢人必備。
缺點(diǎn):不能播放ape,flac等無損格式音頻。初次使用比較麻煩。彈出窗口太多,占用應(yīng)該也比較厲害,軟件也很臃腫。
音質(zhì)指數(shù):A實(shí)用指數(shù):B-
10:J River Media Center
優(yōu)點(diǎn):
①、聲場比foobar大一圈,聲音收的快,foobar相比之下有點(diǎn)亂,低音很結(jié)實(shí),很強(qiáng)大。同樣可以使用asio輸出
②、好看!
③、資源占用少!看起來很夸張的界面,只占用20M的內(nèi)存,CPU基本是0 ④、功能多多,跟iTunes很像,是個(gè)音樂管理軟件,第一次使用需要導(dǎo)入媒體庫,需要花一點(diǎn)時(shí)間(我用了10分鐘)可以用來刻錄音樂,也可以用來播放視頻。
缺點(diǎn):如果音樂較多,第一次導(dǎo)入時(shí)間可能會(huì)很長,最好分開來導(dǎo)入;操作沒有foobar這么簡單明了,需要一段時(shí)間習(xí)慣。不能顯示歌詞!
格式的支持不算很多,但是ape,F(xiàn)LAC,WV,wav這些基本的無損都支持,大部分的有損壓縮也支持。
想要像我的一樣好看的話,需要下載很多的CD封面,花點(diǎn)時(shí)間還是值得的!
音質(zhì)指數(shù):A+實(shí)用指數(shù):A+
二、專業(yè)播放器
11:Cplay
這個(gè)是專業(yè)用戶使用的播放器
優(yōu)點(diǎn):很高質(zhì)量的聲音,給人的感覺很大氣,有人比較說:重采樣開到192K的foobar才能和他一比高下。
缺點(diǎn):必須要有支持asio輸出的聲卡才能使用該軟件,支持格式有限,界面為英文,而且非常簡陋,操作復(fù)雜。只適合音質(zhì)狂熱愛好者。
音質(zhì)指數(shù):A++實(shí)用指數(shù):C
12:SawStudio
播放器里的神器
優(yōu)點(diǎn):層次分明,清晰自然地聲音,勝過foobar可以說是沒有什么懸念。(但個(gè)人還是認(rèn)為foobar的調(diào)音聽著舒服)
這個(gè)是用匯編語言寫的播放器,好處自然是受到windows影響極小。
缺點(diǎn):界面復(fù)雜(灰常復(fù)雜),只能播放WAV,操作麻煩,不能批量選擇歌曲播放(囧rz)
沒有播放列表等基本播放器的功能。因?yàn)檫@個(gè)本來就是專業(yè)的混音軟件,不是用
來當(dāng)播放器用的。
音質(zhì)指數(shù):A++實(shí)用指數(shù):D
最后,順便說說各個(gè)播放器為啥聲音有區(qū)別。
一個(gè)原因,是解碼精度的問題。
例如:
SawStudio是 64Bit定點(diǎn)+64bit浮點(diǎn)內(nèi)部處理精度
foobar2000是64Bit浮點(diǎn)內(nèi)部處理精度(其他播放器基本都低于這個(gè)精度)
解碼精度越高,出來聲音質(zhì)量也會(huì)越高。
另一個(gè)原因,是調(diào)音的問題。
比如說前面提到的beoplayer,能用調(diào)音模仿出晶瑩剔透的感覺,這個(gè)可不簡單,所以出來的效果會(huì)比普通的播放器好。當(dāng)然,每個(gè)人都有自己喜歡的風(fēng)格,并沒有規(guī)定哪個(gè)調(diào)音是最好的。
第二篇:電信-音樂播放器
音樂播放器設(shè)計(jì)文檔
在 android平臺上開發(fā)音樂播放器是一個(gè)全新的挑戰(zhàn)。這次通過 android QQ music 項(xiàng)目實(shí)戰(zhàn),總結(jié)出一些方法和經(jīng)驗(yàn),希望能夠?qū)σ苿?dòng)平臺的設(shè)計(jì)尤其是多媒體這塊提供一些有價(jià)值的參考和幫助。1.1 項(xiàng)目背景
當(dāng)今社會(huì)的生活節(jié)奏越來越快,人們對手機(jī)的要求也越來越高,由于手機(jī)市場發(fā)展迅速,使得手機(jī)操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場上主要有三個(gè)手機(jī)操作系統(tǒng),Windows mobile,symbian,以及谷歌的Android操作系統(tǒng),其中占有開放源代碼優(yōu)勢的Android系統(tǒng)有最大的發(fā)展前景。那么能否在手機(jī)上擁有自己編寫的個(gè)性音樂播放器呢?能的,谷歌Android系統(tǒng)就能做到。本文的音樂播放器就是基于谷歌Android手機(jī)平臺的播放器。
Android:是谷歌于2007年公布的開放式源代碼手機(jī)系統(tǒng),它的開放性就優(yōu)于其它封閉式的手機(jī)系統(tǒng),因此,任何人都可能根據(jù)自己的喜好將手機(jī)系統(tǒng)中的所有功能重新編寫。這使得越來越多的人關(guān)注這個(gè)操作系統(tǒng)。本次作品音樂播放器就是基于Android平臺的。
隨著計(jì)算機(jī)的廣泛運(yùn)用,手機(jī)市場的迅速發(fā)展,各種音頻視頻資源也在網(wǎng)上廣為流傳,這些資源看似平常,但已經(jīng)漸漸成為人們生活中必不可少的一部分了。于是各種手機(jī)播放器也緊跟著發(fā)展起來,但是很多播放器一味追求外觀花哨,功能龐大,對用戶的手機(jī)造成了很多資源浪費(fèi),比如CPU,內(nèi)存等的占用率過高,在用戶需要多任務(wù)操作時(shí),受到了不小的影響,帶來了許多不便,而對于大多數(shù)普通用戶,許多功能用不上,形同虛設(shè)。針對以上各種弊端,選擇了開發(fā)多語種的音頻視頻播放器,將各種性能優(yōu)化,繼承播放器的常用功能,滿足一般用戶(如聽歌,看電影)的需求,除了能播放常見格式的語音視頻文件,高級功能:還能播放RMVB格式的視頻文件。此外,還能支持中文、英文等語言界面。要研究了各種市場上流行的手機(jī)播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別格式文件,分析各種編碼的優(yōu)缺點(diǎn)以及各種播放器本身存在的缺陷和特點(diǎn),編寫出功能實(shí)用,使用方便快捷的播放器。目前已經(jīng)實(shí)現(xiàn)的功能有能播放常見音頻文件的功能,如MP3,WAV,等,擁有播放菜單,能選擇播放清單,具備一般播放器的功能,如快進(jìn),快退,音量調(diào)節(jié)等。播放模式也比較完善,有單曲,順序,循環(huán),隨機(jī)播放等模式。
一、引入產(chǎn)品定義描述(Application
Definition Statement)
相信大多數(shù)設(shè)計(jì)師都有過這樣的經(jīng)歷:在產(chǎn)品設(shè)計(jì)過程中,設(shè)計(jì)師和產(chǎn)品經(jīng)理不斷 pk,各抒己見,甚至鬧得臉紅
耳赤、拍桌翻臉,最后項(xiàng)目總結(jié)時(shí)又因達(dá)不到“理想目標(biāo)“雙方深深自責(zé),紛紛表示”缺少交流“。彼此不斷 pk,交流
絕對足夠,只是我們?nèi)鄙儆行贤ǖ墓ぞ摺H绻茉谠缙诮⒐沧R,口水仗爆發(fā)的頻率就會(huì)越少,真正花在產(chǎn)品上 的時(shí)間也就越多。這一次,我們決定更早地切入,在最開始的產(chǎn)品規(guī)劃層面,引入“產(chǎn)品定義描述”(關(guān)于
ap-plicationdefinition statement,請參考《iPhone Human Interface Guidelines》)。
注意:
ADS 的定義也是一個(gè)迭代的過程,外部環(huán)境的變化、后續(xù)過程產(chǎn)生的問題,都可能對原 ADS 產(chǎn)生影響,需
要重新評估、修正,甚至否定再來,但無論如何,必須確保整個(gè)團(tuán)隊(duì)對 ADS 有一個(gè)共同的認(rèn)識。
二、細(xì)分場景,從場景推導(dǎo)需求,從需求推導(dǎo)設(shè)計(jì)
從源頭的戰(zhàn)略層面上建立了統(tǒng)一的認(rèn)知,我們接下來開展的工作就有根據(jù)了。既然核心是解決“移動(dòng)場景聽歌“的問
題,我們必須首先弄清楚什么是”移動(dòng)場景“?移動(dòng)環(huán)境和 PC 環(huán)境差異甚大,碎片時(shí)間的使用更為突出。用戶一天
是怎么活動(dòng)的呢?每次拿起手機(jī)聽音樂都是什么時(shí)間?上班的公車上、走路、晚上睡覺前?在這些點(diǎn)上用戶都會(huì)做
些什么?簡單的腦暴可以羅列各個(gè)可能的使用場景,但還比較粗糙。場景的構(gòu)想需要建立在高度的認(rèn)知上,這時(shí)候
用研的切入顯得相當(dāng)關(guān)鍵,用戶特征、喜好、使用習(xí)慣…對用戶越了解,場景就越能貼近真實(shí)、越能發(fā)現(xiàn)更多的細(xì)
節(jié)。這些都為后續(xù)的設(shè)計(jì)決策提供了有力的依據(jù)
客觀構(gòu)建的場景有很多有意思的發(fā)現(xiàn),比如用戶在播放本地歌曲時(shí),挑選第一首歌往往比較猶豫,但對后續(xù)播放的
歌曲卻不太在意。從場景仔細(xì)分析和推敲,很容易就可以明確產(chǎn)品的需求,對應(yīng)上述的發(fā)現(xiàn),推導(dǎo)如下需求:為用
戶提供“馬上聽歌”按鈕引導(dǎo)用戶直接聽歌。需求的推導(dǎo)因?yàn)橛杏醚械那腥?,避免了太多的個(gè)人情感因素。
三、敏捷原型設(shè)計(jì),適應(yīng)與借鑒并行
用研的輸出以及前面的 ADS 定義為功能篩選和設(shè)計(jì)取舍提供了強(qiáng)有力的決策依據(jù)。在需求框架大致決定的時(shí)候,我們接下來就進(jìn)行方案設(shè)計(jì)了。正所謂“一圖勝千言”,原型有時(shí)候會(huì)比面面俱到的文檔更直觀。不同的階段,我們
會(huì)進(jìn)行不同精度的原型設(shè)計(jì):
在原型迭代的過程中,需要注意 android平臺的 UI 尷尬。與其他平臺(iPhone、symbian、windows mobile)不同,an-droid 更加開放,不同的廠商不同的 ROM 版本界面規(guī)范并不統(tǒng)一。如果簡單地將其他平臺的設(shè)計(jì)規(guī)范移植過來,產(chǎn)品體驗(yàn)可能會(huì)和整個(gè)系統(tǒng)“格格不入”。借鑒了 android平臺的一些優(yōu)秀 app(比如 twitter 和 new york times)的
設(shè)計(jì)策略,我們決定“適應(yīng)與借鑒并行“:在大的基礎(chǔ)體驗(yàn)上,保證與系統(tǒng)體驗(yàn)一致,尊重平臺使用習(xí)慣;在細(xì)節(jié)體
驗(yàn)上,盡量克服系統(tǒng)的操作困難,保證局部體驗(yàn)的流暢。
四、視覺方案
在整個(gè)設(shè)計(jì)過程中,我們嘗試了多套風(fēng)格方案,比如“夢幻光影”、“清爽夏日”、“木質(zhì)桌面”“藍(lán)色海洋”等等,由于
beta1 開發(fā)時(shí)間有限,最后選擇了偏深綠色主色調(diào)的“夢幻光影”作為默認(rèn)皮膚,這里奉上其他未曾謀面的方案,供 參考。
4.1 主要界面模塊劃分
視覺方案的第一步是對界面各模塊和控件進(jìn)行作出符合審美原理和需要的的合理劃分和尺寸設(shè)定,這里重點(diǎn)會(huì)落在
正在播放界面和歌曲列表界面兩塊,雖然兩個(gè)界面功能和承載的信息都不相同,但是在造作上兩個(gè)界面跳轉(zhuǎn)和切換
是緊密關(guān)聯(lián)的,在各模塊劃分和空間比例上兩個(gè)需要統(tǒng)籌安排,一方面考慮上下同樣尺寸的“標(biāo)題行”和底部“控制行
/ tab 行”一方面要考慮歌曲列表界面的列表選擇合適的行高和行數(shù)。在保證每一行歌曲信息能夠有足夠的空間顯示
整個(gè)界
從上圖區(qū)域劃分和比例可以看出,播放器界面,封面/歌手圖片的中心點(diǎn)在整個(gè)界面的高度是 296,相對于面的高 480,這一比例基本是處在 0.618:1 的黃金分隔點(diǎn)上。4.2 正在播放界面
用戶使用音樂播放器,最大的關(guān)注點(diǎn)一般會(huì)落在正在播放/播放器界面上,這塊在視覺上是整個(gè)產(chǎn)品的核心區(qū)域,在很大程度上代表了整款軟件的品質(zhì)、品位和風(fēng)格信息表達(dá)。而專輯封面/歌手頭像又是正在播放界面的視覺中心,因此這塊在設(shè)計(jì)上花了比較重的筆墨,用細(xì)膩的光照效果與晶瑩剔透的質(zhì)感精心營造了一種符合我們 QQ 音樂在手
機(jī)移動(dòng)操作平臺上的氣質(zhì)的效果。
4.3 系統(tǒng)菜單 icon
菜單選項(xiàng) icon 是另外一個(gè)視覺信息傳達(dá)比較重要的地方,對整體風(fēng)格的形成起著重要作用,這里做了兩種效果的
嘗試,一種 A 方案:是空心邊框形式,看起來彈出菜單很輕盈,一屏 6 個(gè)選項(xiàng)帶文字不會(huì)覺得擁擠,缺點(diǎn)是單個(gè)
圖標(biāo)的輪廓有的地方不連貫,有可能會(huì)造成辨識度降低。另外最后選用的方案 B 是實(shí)心剪影的形式,這種表現(xiàn)方式
整個(gè) icon 看起來很整體,比較飽滿,識別度較高,不過如果一屏圖標(biāo)過多的話可能會(huì)稍有擁擠的感覺,但如果以
縮小的方式處理,對于手指觸摸操作來說是不合理的,這里 icon 作了圓角處理和鏤空實(shí)心均衡化處理,能在視覺
感受上弱化一下可能會(huì)產(chǎn)生的擁擠感。
4.4 出現(xiàn)“水波紋”的問題
色彩顯示效果上 Android 系統(tǒng)的手機(jī)由于硬件和技術(shù)上的限制和問題,會(huì)在某些情況下產(chǎn)生令人抓狂的水波紋問題,在嘗試的過程中大致總結(jié)了容易造成水波紋的漸變使用,如上圖左邊兩個(gè)圖塊:如果使用規(guī)則的徑向漸變,程序貼
圖后極容易出現(xiàn)水波紋,另一種情況是如右邊的兩圖塊:漸變色差值過小,就是說漸變特別的細(xì)膩不顯著的話也很
容易在切圖程序貼圖后出現(xiàn)明顯的水波紋。所以后面在配色和設(shè)計(jì)過程中可以據(jù)此避免盡量這樣的情況出現(xiàn)。
4.5 最終選用方案:
五、后記
(1)通過對Android手機(jī)平臺的音樂播放器軟件的開發(fā),使我對Android音樂播放器系統(tǒng)的整體設(shè)計(jì)有一個(gè)深入的了解,對整個(gè)流程也會(huì)有一個(gè)清晰的認(rèn)識。開發(fā)Android音樂播放器,要抓住開發(fā)的核心部分,音樂播放器大體由播放主界面、播放列表、菜單、播放設(shè)置、文件瀏覽、歌曲搜索六大核心組成,只要掌握了這六部分的開發(fā),音樂播放器就能初具規(guī)模。而其它的功能都是在這六個(gè)功能的基礎(chǔ)上去補(bǔ)充添加的,但是這是功能的確是必不可少的功能,否則就不能算是音樂播放器了。
(2)音樂播放器系統(tǒng)實(shí)現(xiàn)了播放器的基本功能:播放,暫停、停止、上/下一首、音量調(diào)節(jié)、歌詞顯示、播放模式、歌曲搜索、文件瀏覽器、播放列表查詢等功能。運(yùn)用的系統(tǒng)平臺是現(xiàn)今最熱門的Android系統(tǒng),是一個(gè)開源的基于Linux系統(tǒng)的手機(jī)平臺。是以Java語言編寫+SQLite數(shù)據(jù)庫支持+SharePreference配置文件的組合方式進(jìn)行數(shù)據(jù)管理。實(shí)現(xiàn)了音樂播放器的系統(tǒng)編程。
(3)本次程序設(shè)計(jì),對播放器的系統(tǒng)結(jié)構(gòu)框架做了精心的構(gòu)思與設(shè)計(jì),采用主要開發(fā)工具是Eclipse3.5+Java語言的支持,Android Development Tool的插件,和Android SDK2.1版本的全面結(jié)合,才使整個(gè)音樂播放器系統(tǒng)得以實(shí)現(xiàn)。
(4)總之,經(jīng)過幾個(gè)月的Android系統(tǒng)技術(shù)知識的學(xué)習(xí)和對音樂播放器的構(gòu)思與設(shè)計(jì),使我對Android系統(tǒng)有了一定的了解,讓我對Android系統(tǒng)上的開發(fā)流程和開發(fā)模式有了深入的了解,這對我以后的Android項(xiàng)目開發(fā)有很大的幫助。參 考 書 籍
《Java API文檔》
《Android 系統(tǒng)原理及開發(fā)要點(diǎn)詳解》 作者:韓超,梁泉 著 《Android SDK開發(fā)范例大全》
作者:郭宏志 著 《Android Google API開發(fā)文檔》 作者:Google官方 《Android Application Development》 出版社: O’Reilly 《Java編程思想think of java》 作者:Bruce Eckel 《手機(jī)軟件研發(fā)培訓(xùn)教材》
出版社:極地星空3G通信學(xué)院 參 考 文 獻(xiàn)
[1] 張孝祥著. java就業(yè)培訓(xùn)教程[M].北京:清華大學(xué)出版社,2007.[2] 余志龍編著.Google Android SDK開發(fā)范例大全[M].北京:人民郵電出版社,2009-7-1.[3] E2ECloud工作室著.深入淺出Google Android[M].北京:人民郵電出版社,2009-08-1.[4] 靳巖 姚尚朗著.Google Android開發(fā)入門與實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2009-07-01.[5] 高昂著.支持動(dòng)態(tài)語言的Android平臺[M].北京:人民郵電出版社,2009-05-07.[6] eoe.Android開發(fā)社區(qū).http://. 2010-04-10.[9] 高煥堂編.Android 應(yīng)用框架原理與程式設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2008-10-03 [10] 楊豐盛主編.Android 應(yīng)用開發(fā)揭秘[M].西安:機(jī)械工業(yè)出版社,2010-01-25 [11] XML解析方式DOM、SAX之比較.http://wghjay.javaeye.com/blog/519955.2009-11-18.名詞術(shù)語:
JDK
Java Development Kit
Android 基于Linux操作系統(tǒng)的手機(jī)平臺 SDK
Android Software Development Kit ADT Android Development Tool Anroid開發(fā)工具
IDE Intergrate Design Environment
集成開發(fā)環(huán)境 ADB
Android Debug Bridge 調(diào)試橋
AVD
Android Virtual Devices
Android虛擬設(shè)備
DDMS Dalvik Debug Monitor Service 調(diào)試監(jiān)視服務(wù) AIDL Android Interface Description Language Android接口描述語言 xmlns XML NamePace XML命名空間
第三篇:音樂播放器項(xiàng)目報(bào)告
華東交通大學(xué)課程項(xiàng)目
學(xué) 院:軟件學(xué)院 ______ 課程名稱: Android應(yīng)用開發(fā)___________ 項(xiàng)目名稱: ___ _音樂播放器________ 學(xué)生名字: ____ ________ 學(xué)生班級: ____ ______ 授課教師: __________ 授課學(xué)期:2015___至2016______學(xué)年第2學(xué)期
2016年 6月 1 日
目錄
目錄...................................................................................................................................2
1、需求分析.............................................................................................................................3
1.1編寫目的.....................................................................................................................3 1.2項(xiàng)目背景.....................................................................................................................3 1.3目標(biāo).............................................................................................................................4 1.4用戶特點(diǎn).....................................................................................................................4
2、程序設(shè)計(jì).............................................................................................................................5
2.1歡迎界面....................................................................................................................5 2.2主頁面........................................................................................................................6 2.3播放音軌SeekBar......................................................................................................6 2.4播放調(diào)節(jié)功能實(shí)現(xiàn).....................................................................................................7 2.5歌曲列表顯示界面.....................................................................................................8 2.6專輯列表顯示界面.....................................................................................................8
3、功能設(shè)計(jì).............................................................................................................................9
4、個(gè)人總結(jié)...........................................................................................................................10
1、需求分析 1.1編寫目的
現(xiàn)今社會(huì)生活緊張,而欣賞音樂史其中最好的舒緩壓力的方式之一,音樂播放類的軟件數(shù)不勝數(shù),為什么我還要再寫一個(gè)播放器出來呢?因?yàn)楝F(xiàn)有的音樂播放器功能實(shí)在是有些多了,多未必不好,但是我總想要一個(gè)干凈純粹的音樂播放器,只為聽歌的播放器,一個(gè)有著一些自己想要的功能的播放器,比如“切歌”,一個(gè)自己熟悉代碼的播放器,甚至,一個(gè)可以自定義功能結(jié)構(gòu)的音樂播放器。本項(xiàng)目的目的是開發(fā)一個(gè)可以播放主流音樂文件格式的播放器,本設(shè)計(jì)的實(shí)現(xiàn)的這主要功能是播放MP3等音樂文件,并且能夠控制播放器播放,暫停,停止,上一曲,下一曲。界面簡單,操作簡單。
本軟件具備音樂播放器的播放歌曲、歌曲列表、拖動(dòng)進(jìn)度等基本功能,同時(shí)本播放器界面簡潔美觀,操作簡單便捷。
1.2項(xiàng)目背景
隨著智能手機(jī)的普及,用戶需要各種各樣的應(yīng)用軟件,音樂播放器肯定是必不可少的。隨著計(jì)算機(jī)的廣泛運(yùn)用,手機(jī)市場的迅速發(fā)展,各種音頻資源也在網(wǎng)上廣為流傳,這些資源卡是平常,但已經(jīng)漸漸成為人們生活中必不可少的一部分了。于是各種手機(jī)播放器也緊跟著發(fā)展起來,但是很多播放器一味最求外觀花俏,功能龐大,對用戶的手機(jī)造成很多資源浪費(fèi),比如CPU,內(nèi)存等的占用率過高,在用戶需要多任務(wù)操作時(shí),受到不小的影響,帶來了許多不便,而對于大多數(shù)普通用戶,許多功能用不上,形同虛設(shè)。針對以上各種弊端,選擇了開發(fā)多語種的音頻播放器,將各種性能優(yōu)化,繼承播放器的常用功能,滿足一般用戶聽歌的需求。1.3目標(biāo)
學(xué)習(xí)完本周的應(yīng)用開發(fā)課程之后,需要實(shí)現(xiàn)以下目標(biāo): 可以獲取本地音樂 可以顯示歌曲的進(jìn)度
可以用拖動(dòng)條來控制歌曲的進(jìn)度 音樂播放器可以循環(huán)播放音樂; 可以播放下一首歌曲; 有一個(gè)精美的界面; 可以通過手勢調(diào)節(jié)音量;
1.4用戶特點(diǎn)
本系統(tǒng)的最終用戶是面向廣大的擁有手機(jī)的用戶。廣大用戶有各個(gè)階級的,學(xué)生,上班族,家長。
主要群體是學(xué)生,學(xué)生的特點(diǎn)是要求播放的音頻潮流,音質(zhì)高,功能多種多樣。學(xué)生基本上會(huì)隨身攜帶手機(jī)。
上班族工作壓力比較大,可以適當(dāng)?shù)牟シ乓魳肪徑鈮毫Α?/p>
2、程序設(shè)計(jì)
2.1歡迎界面
歡迎界面模塊主要是用于給用戶一種友好的體驗(yàn),讓用戶較容易接受本軟件。進(jìn)入系統(tǒng)后進(jìn)入歡迎界面如圖2.1,運(yùn)用計(jì)時(shí)器兩秒鐘后自動(dòng)跳轉(zhuǎn)到選擇進(jìn)入界面4.2。并且運(yùn)用了組合動(dòng)畫實(shí)現(xiàn)了漸隱的效果。
2.1歡迎界面 2.2主頁面
主頁面是本運(yùn)用的核心界面,本界面擁有三個(gè)Fragment,可以運(yùn)用Activity底部的選項(xiàng)卡進(jìn)行切換,三個(gè)Fragment分別為歌曲列表,正在播放以及專輯列表。如圖4.2所示,此時(shí)Activity上顯示的Fragment為正在播放,此頁面運(yùn)用一張炫酷的網(wǎng)絡(luò)圖片。中間一塊專輯及歌曲顯示的模塊是屬于一個(gè)自定義模塊。底部為音軌模塊。
2.2主頁面
2.3播放音軌SeekBar 播放器最重要的一部分就是音軌與歌曲進(jìn)度同步的實(shí)現(xiàn)。音軌設(shè)置了兩個(gè)TextView用來顯示當(dāng)前歌曲播放的進(jìn)度時(shí)間和歌曲的長度。音軌對象SeekBar在歌曲剛開始播放的時(shí)候調(diào)用方法SeekBar.setMax(),參數(shù)傳入歌曲的長度。SeekBar.setProgress(1)設(shè)置游標(biāo)的起始進(jìn)度為1。Android的線程的開始是通過Handler類來進(jìn)行的,Handler類是線程與線程之間通信的橋梁,實(shí)現(xiàn)Runnable接口會(huì)實(shí)現(xiàn)里面的run方法,當(dāng)線程開始的時(shí)候,Runnable中的run方法會(huì)向Handler發(fā)一個(gè)Message消息,這樣,Handler類就可以接收到run方法發(fā)送過來的不同的消息進(jìn)行不同的代碼處理。這樣就達(dá)到了各線程之間的通信。要啟動(dòng)一個(gè)線程調(diào)用Handler的方法postDelayed(Runnable,1000)表示線程睡眠時(shí)間是1000ms。
讓播放歌曲的線程每隔1000ms,即每1秒對音軌的TextView重新設(shè)置時(shí)間且讓進(jìn)度條 前進(jìn)1秒的進(jìn)度。對音軌進(jìn)行刷新。這樣就實(shí)現(xiàn)了歌詞同步功能SeekBar有一個(gè)監(jiān)聽器,該監(jiān)聽器的作用是一直保持著對進(jìn)度條的監(jiān)聽,當(dāng)我們用鼠標(biāo)向SeekBar的各位置進(jìn)行點(diǎn)擊時(shí),它會(huì)自動(dòng)監(jiān)聽其位置,進(jìn)行相應(yīng)的位置顯示。這也是進(jìn)度條上的游標(biāo)會(huì)不停的移動(dòng)和歌詞時(shí)間會(huì)不停的變動(dòng)的原因。
2.3播放音軌
2.4播放調(diào)節(jié)功能實(shí)現(xiàn)
各按鈕水平放置,從左到右依次是上一首、播放、下一首功能按鈕。用的是布局中的線性布局LinearLayout,;將其設(shè)置為水平,如圖所示。LinearLayout中依次放置播放/暫停,上一首、下一首按鈕屬性。
歌曲專輯圖片顯示,如果有歌曲圖片,才會(huì)返回,否則為null,2.4控制按鈕
Android的媒體播放原理:Android源程序已經(jīng)為我們封裝好了一個(gè)接口類,叫MediaPlayer。該接口在執(zhí)行行需要一個(gè)數(shù)據(jù)源,通過如下步驟:
第一步:MediaPlayer.reset();復(fù)位操作,為以后的媒體準(zhǔn)備播放作準(zhǔn)備。第二步:傳入歌曲數(shù)據(jù)源,這里也是一個(gè)數(shù)據(jù)MediaPlayer.setDataSource(String path);參數(shù)需要傳一個(gè)路徑,該接口類在收到路徑后將其轉(zhuǎn)化為數(shù)據(jù)源。
第三步:準(zhǔn)備播放數(shù)據(jù)源,調(diào)用方法MediaPlayer.Prepare()。
第四步:MediaPlayer.Start();播放數(shù)據(jù)源,該數(shù)據(jù)源播放后,不再與程序有關(guān),需要用MediaPlayer.Stop()方法讓其停止或MediaPlayer.Start();讓其啟動(dòng)。2.5歌曲列表顯示界面
歌曲列表整體采用了相對布局(RelativeLayout),中間歌曲列表部分采用的是ListView視圖,以確保有大量歌曲時(shí)能滾動(dòng)式容納所有歌曲,如圖2.5所示,背景采用一張炫酷的圖片,自定義LIstView,左側(cè)為歌曲圖片,中間為歌曲名歌手,最右邊為歌曲時(shí)長。
歌曲的名稱:MediaStore.Audio.Media.TITL 歌曲的歌手名:MediaStore.Audio.Media.ARTIST 歌曲的總播放時(shí)長:MediaStore.Audio.Media.DURATION
2.5歌曲列表
2.6專輯列表顯示界面
專輯列表采用了網(wǎng)格視圖(GridView)用它能實(shí)現(xiàn)視圖的網(wǎng)格排列,九宮格視圖就是GridVew最典型的使用,GridView是一個(gè)AdapterView,所以需要通過適配器來綁定數(shù)據(jù),這里使用BaseAdapter。如圖所示用一張網(wǎng)絡(luò)圖片作為背景,GRidView布局自定義,每個(gè)item分為兩部分,上面為圖片,下邊為歌曲專輯名。
歌曲的專輯名:MediaStore.Audio.Media.ALBUM
2.6專輯列表
3、功能設(shè)計(jì)
該系統(tǒng)具有以下主要功能: 1)播放歌曲,顯示歌曲名字 2)播放上一首歌和下一首歌
3)播放模式可以是循環(huán)的,也以是單曲循環(huán) 4)可以通過手勢調(diào)節(jié)歌曲進(jìn)度 5)可以選取歌曲進(jìn)行播放
4、個(gè)人總結(jié)
通過對Android手機(jī)平臺的音樂播放器的開發(fā),使我對Android系統(tǒng)有了更高層次的了解,Android功能是非常強(qiáng)大的,在這段時(shí)間的學(xué)習(xí)與實(shí)踐中遇到了很多難題,不過通過網(wǎng)上專門的Android 社區(qū)有些開源的代碼供參考研究,同時(shí)還得到了Android高手的指點(diǎn),總算給完成了,覺得蠻有意義的。
開發(fā)Android音樂播放器,要抓住開發(fā)的核心部分,音樂播放器大體由播放主界面、播放列表組成。這兩個(gè)個(gè)模塊完成,音樂播放器就能初具規(guī)模。而其它的功能都是在這兩個(gè)模塊的基礎(chǔ)上去補(bǔ)充添加的,這是功能的確是必不可少的功能,否則就不具備音樂播放器的基本功能了。
在開發(fā)過程中我學(xué)到了一些經(jīng)驗(yàn):系統(tǒng)分析的好壞將決定著的系統(tǒng)開發(fā)成功與否,一份好分析設(shè)計(jì)將是成功開發(fā)主要因素??傊?,經(jīng)過這次的Android系統(tǒng)技術(shù)知識的學(xué)習(xí)和對音樂播放器的構(gòu)思與設(shè)計(jì),使我對Android系統(tǒng)有了一定的了解,讓我對Android系統(tǒng)上的開發(fā)流程和開發(fā)模式有了深入的了解,同時(shí)也對整個(gè)軟件產(chǎn)品的實(shí)現(xiàn)流程有了一個(gè)深入的了解,這對我以后從事軟件開發(fā)有很大的幫助。
第四篇:音樂播放器報(bào)告
一、綜述本課題國內(nèi)外研究動(dòng)態(tài),說明選題的依據(jù)和意義
1.1課題的背景和意義
隨著科技的進(jìn)步,手機(jī)的功能也不斷的得到豐富,從最早的“大哥大”到現(xiàn)在的商務(wù)PDA手機(jī),智能手機(jī),音樂手機(jī)等等,功能也從單純的打電話發(fā)展到了發(fā)短信,聽歌,上網(wǎng)....手機(jī)和我們生活的聯(lián)系越來越緊密,手機(jī)的功能也是很多人們關(guān)注的焦點(diǎn)。
目前手機(jī)的音樂播放功能已經(jīng)是大家比較關(guān)注的一個(gè)部分了,不少在人在購買手機(jī)的時(shí)候都會(huì)關(guān)心手機(jī)的音樂播放的能力,這也足以看出目前大家對音樂播放功能的重視,所以一款性能良好的手機(jī)音樂播放器軟件一定會(huì)受到歡迎。和傳統(tǒng)的音樂播放器相比,手機(jī)播放音樂更加的容易攜帶,其他方面也都不輸于傳統(tǒng)音樂播放器,而且還具有網(wǎng)上聽音樂功能,所以開發(fā)一款受歡迎的手機(jī)音樂播放軟件是具有良好的市場和應(yīng)用前景的。
一款專業(yè)的音樂播放軟件是手機(jī)中必不可少的要素,幾乎市場上所有的手機(jī)都擁有一個(gè)自帶的音樂播放軟件,通過軟件可以對音樂欣賞中一些必要的元素進(jìn)行人性化的設(shè)置,同時(shí)在操作的時(shí)候也能得到一定的便利,但是不能滿足用戶的所有要求,所以網(wǎng)上就出現(xiàn)了各種各樣的手機(jī)音樂播放軟件,來滿足不同用戶的不同要求。不同手機(jī)平臺的手機(jī),所支持的音樂播放軟件也是各不相同,而現(xiàn)在最流行的手機(jī)平臺就是google的android手機(jī)平臺,所以本課題就致力于開發(fā)出一款基于android手機(jī)平臺的音樂播放器,來滿足用戶的使用需求。
1.2課題的研究歷史和發(fā)展現(xiàn)狀
首先簡單的介紹一下google的android。Android原本是一家獨(dú)立的手機(jī)操作系統(tǒng)公司,2005年被Googel收購。2007年11月,Googel宣布推出基于Linux的Android開放式手機(jī)操作系統(tǒng),沿襲至今,已發(fā)展到2.2版本(3.0尚在研)。此系統(tǒng)的“開放”尤其體現(xiàn)在任何手機(jī)制造商均可無需支付專利費(fèi)即可將此系統(tǒng)運(yùn)用在自己的手機(jī)
Google的以Linux為內(nèi)核的Android移動(dòng)手機(jī)平臺從誕生之日起短時(shí)間內(nèi)便在世界范圍里獲得了廣泛的關(guān)注。最近的報(bào)告顯示在中國,一個(gè)擁有最大的人口,擁有最多的手機(jī)用戶,擁有巨大的增長潛力的國家,這個(gè)系統(tǒng)的占有率沿著一個(gè)倒拋物線的增長曲率成為手機(jī)操作系統(tǒng)中的霸主 同時(shí)國外的Android市場也正在如日中天的擴(kuò)展,據(jù)市場調(diào)研機(jī)構(gòu)NPDGroup最近發(fā)布的一份報(bào)告稱,今年第一季度基于Android操作系統(tǒng)的智能手機(jī)在美國智能手機(jī)總銷量中所占比例達(dá)到28%,首度超過蘋果iPhone,蘋果iPhone約為21%,相信在不久的將來會(huì)有更多的用戶選擇Android系統(tǒng)的手機(jī)或是無線終端設(shè)備。
根據(jù)美國移動(dòng)廣告商AdMob的統(tǒng)計(jì),iPhoneOS在美國本土的網(wǎng)絡(luò)流量占了美國本土全部移動(dòng)互聯(lián)網(wǎng)流量的39%,而Android系統(tǒng)首次超越了它,達(dá)到了46%。不過要放在世界范圍內(nèi)來看,iPhone OS仍占了46%,而Android只占了25%,還是排第二。不過仍能說明 Android的來勢洶洶,能對蘋果造成威脅的果然只有Google。
國內(nèi)目前中國移動(dòng)、Moto、LG、三星、華為、MTK等正在積極籌備Android產(chǎn)品和相關(guān)的電子市場,中國移動(dòng)率先推出了基于Android深度定制的Ophone系統(tǒng)和Mobile Marke,聯(lián)想基于Android的樂phone手機(jī)也于5月17日正式上市,國內(nèi)其他電子廠商也紛紛表示到下半年會(huì)推出大量的基于Android的手機(jī)和MID產(chǎn)品,Moto更是放棄了原有的所有手機(jī)操作系統(tǒng),孤注一擲,計(jì)劃今年國內(nèi)市場有近20款A(yù)ndroid產(chǎn)品面世。3G時(shí)代的到來,給中國企業(yè)追趕國際廠商帶來了騰飛的機(jī)會(huì),據(jù)預(yù)測亞太區(qū)域?qū)頃?huì)占據(jù)全球Android市場中最大的收入份額。
Android的代號序列會(huì)按甜點(diǎn)名字中首個(gè)英文字母(C、D、E、F)的排列順序,到目前為止android系統(tǒng)已經(jīng)有多個(gè)幫本: Android1.1發(fā)布于2009年2月主要特性:
鬧鐘,API示例,瀏覽器,攝像頭,計(jì)算器,聯(lián)系人,開發(fā)工具包,撥號應(yīng)用,電子郵件,地圖,信息服務(wù),音樂,圖片,設(shè)置。2009年4月30日,官方1.5版本(Cupcake)的Android發(fā)布。主要的更新如下: 拍攝/回放視頻,并支持上傳到y(tǒng)outube,支持立體聲藍(lán)牙耳機(jī),同時(shí)改善自動(dòng)配對性能,最新的采用WebKit技術(shù)的瀏覽器,支持拷貝/粘帖和頁面中搜索,gPS性能大大提高, 屏幕虛擬鍵盤,主屏幕增加音樂播放器和相框widgets,應(yīng)用程序自動(dòng)隨著手機(jī)旋轉(zhuǎn) 短信,Gmail,日歷,瀏覽器的用戶界面大幅改善,比如說Gmail現(xiàn)在可以批量刪除郵件了 ,相機(jī)啟動(dòng)速度加快,拍攝圖片可以直接上傳到picasa, 來電照片顯示。2009年9月15日, 1.6(Donut)版本SDK發(fā)布。主要的更新如下:完全重新設(shè)計(jì)的Android Market,手勢支持,支持CDMA網(wǎng)絡(luò),文字轉(zhuǎn)語音系統(tǒng)(TXT-2-speech),快速搜索框,全新的拍照界面,應(yīng)用程序耗電查看,支持VPN,支持更多的屏幕分辨率,支持OpenCore2媒體引擎,新增面向視覺或聽覺困難人群的易用性插件
2009年10月26日, 2.0(Eclair)版本SDK發(fā)布。主要的更新如下:優(yōu)化硬件速度,“Car Home”程序,支持更多的屏幕分辨率,重整界面,新的瀏覽器的用戶界面和支持HTML5,新的聯(lián)系人名單,更好的白色/黑色背景比率,改進(jìn)Google Maps 3.1.2,支持Microsoft Exchange,支持內(nèi)置相機(jī)閃光燈,數(shù)字變焦,改進(jìn)的虛擬鍵盤,藍(lán)牙2.1 Android的代號序列會(huì)按甜點(diǎn)名字中首個(gè)英文字母(C、D、E、F)的排列順序。下一個(gè)版本的Android將會(huì)命名為Froyo(凍酸奶,基于Linux Kernel 2.6.32)。Froyo 之后的版本的Android將會(huì)命名為Gingerbread(姜餅,基于Linux Kernel 2.6.33/34)。
二、研究的基本內(nèi)容,擬解決的主要問題:
2.1課題研究的主要內(nèi)容
本文的主要研究內(nèi)容包括以下幾個(gè)方面: ? 查找相關(guān)書籍與文獻(xiàn),了解Android的構(gòu)架并搭建Android平臺。? 查找相關(guān)資料,現(xiàn)階段基于Android平臺手機(jī)音樂播放器發(fā)展現(xiàn)狀以及相關(guān)功能。
? 在上述基礎(chǔ)上,提出所要做的手機(jī)播放器的相關(guān)功能如:播放本地歌曲,設(shè)置,播放列表,播放記錄等。
? 在Android平臺上完成該課題的軟件并進(jìn)行相應(yīng)的軟件測試。
2.2課題研究的拓展
傳統(tǒng)的音樂播放器受限于手機(jī)存儲(chǔ)和計(jì)算處理能力,在音樂收集、存儲(chǔ)和管理方面一直存在瓶頸,新一代音樂播放器應(yīng)該進(jìn)一步拓展了應(yīng)用空間,更迎合用戶的使用習(xí)慣,將音樂搜索、收藏、管理等全部交由網(wǎng)絡(luò)來完成,為用戶提供的音樂資源更為龐大,搜索更為精準(zhǔn),管理和收藏更為簡便的服務(wù)。
1.智能化超級搜索 網(wǎng)絡(luò)音樂播放器的特點(diǎn)就是集成了音樂搜索服務(wù),將用戶從繁雜的網(wǎng)頁搜索解脫出來,提供更為專業(yè)和準(zhǔn)確的音樂搜索服務(wù)。新一代音樂播放器提供的搜索結(jié)果不是直接抓取的網(wǎng)頁搜索鏈接,而是先由服務(wù)器進(jìn)行實(shí)時(shí)采集和篩選,然后保存在數(shù)據(jù)庫由用戶進(jìn)行調(diào)用,以此來保證搜索結(jié)果的準(zhǔn)確性、唯一性和有效性,將搜索結(jié)果的驗(yàn)證和判斷交由服務(wù)器來未完成,避免出現(xiàn)盲搜會(huì)出現(xiàn)的搜索結(jié)果重復(fù)和無效的情況發(fā)生,從而大大提高用戶的搜索效率。
2.智能化口味分析 在網(wǎng)絡(luò)音樂時(shí)代海量的音樂信息已經(jīng)改變了大眾的聽歌習(xí)慣,一天聽個(gè)幾十上百首新歌都不是問題。無論是音樂排行榜、媒體推薦還是口碑宣傳,都屬于小范圍的傳播途徑,這些傳統(tǒng)的歌曲信息獲取方式已經(jīng)無法滿足大眾大量獲取新鮮歌曲的需要。新一代音樂播放器應(yīng)該實(shí)時(shí)采集用戶的聽歌習(xí)慣,實(shí)時(shí)分析出用戶的喜好,在短時(shí)間內(nèi)即可將大量滿足用戶喜好的歌曲推薦出來,用戶無須人工操作即可不斷聽到新鮮的好歌,常聽常新 3.雖然網(wǎng)絡(luò)音樂播放已經(jīng)成為主流,但很多用戶仍習(xí)慣于在本地收藏和管理音樂文件。本地音樂管理所遇到的主要難題就是音樂信息混亂,絕大多數(shù)從網(wǎng)上下載的音樂文件名都是簡化的英文或數(shù)字,讓人無法辨識出正確的歌曲名。日積月累這些音樂文件就會(huì)給日常管理帶來極大麻煩。識別服務(wù)則可以完美解決這一問題,它可以自動(dòng)采集音樂旋律上傳至服務(wù)器,憑借服務(wù)器系統(tǒng)強(qiáng)大的識別能力,通過音樂旋律即可準(zhǔn)確誤別出正確的音樂信息,然后再自動(dòng)對本地音樂文件進(jìn)行信息更正,將音樂文件重命為正確的中文或英文歌曲名等。歌曲數(shù)量再多都能在極短的時(shí)間內(nèi)批量完成誤別操作,識別服務(wù)可以說是現(xiàn)在本地音樂管理的不可或缺的幫手
上面所說的幾種功能都是下一代音樂播放器應(yīng)該具有的功能,只有音樂播放器客戶端軟件的不斷創(chuàng)新發(fā)展,未來人們欣賞音樂的體驗(yàn)才會(huì)更加精彩。
三、研究步驟、方法及措施:
3.1研究步驟 研究步驟主要分為6個(gè)步驟,包括理論準(zhǔn)備、材料分析、需求分析、、編碼實(shí)現(xiàn)、系統(tǒng)測試、完善軟件系統(tǒng)。每個(gè)步驟的大致工作如下: 3.1.1理論準(zhǔn)備
此步驟是整個(gè)研究過程的基礎(chǔ),也是今后研究展開的基石,主要是翻閱相關(guān)資料,查詢Android平臺的歷史和發(fā)展現(xiàn)狀,在理論的基礎(chǔ)上為接下來的步驟做準(zhǔn)備。3.1.2材料分析
對現(xiàn)行的Android平臺手機(jī)播放器進(jìn)行分析并提出相應(yīng)功能。
3.1.3需求分析
在步驟1和2的基礎(chǔ)上對該課題進(jìn)行需求分析。
3.1.4編碼實(shí)現(xiàn)
此過程主要是針對步驟2和3的編碼實(shí)現(xiàn),完成上文描述的功能需求進(jìn)行必要的編碼。當(dāng)然這里是在Android平臺上實(shí)現(xiàn)的。3.1.5系統(tǒng)測試
對基于Android平臺手機(jī)播放器進(jìn)行基本的軟件測試,查找并修改常見的BUG。3.1.6后期完善
此步驟主要是對上述軟件的界面等外設(shè)進(jìn)行修改,以達(dá)到操作方便,友好美觀的效果。3.2研究方法和措施
根據(jù)現(xiàn)有的音樂播放器,分析用戶喜好,優(yōu)化功能,邀請不同的用戶提出建議,不斷的進(jìn)行完善。
四、研究工作進(jìn)度:
序號 1 2 3 4 5 6 7 8 時(shí)間
2010.5.11-2010.6.11 2010.6.12-2010.6.30 2010.7.1-2010.7.31 2010.8.1-2010.8.31 2010.9.1-2010.9.30 2010.10.1-2010.10.9 2010.10.9-2010.10.28
內(nèi)容
熟悉課題要求與任務(wù) 查閱相關(guān)文獻(xiàn)資料 熟悉Android系統(tǒng)
構(gòu)建Android平臺以及熟悉相關(guān)操作
需求分析 完成開題報(bào)告 軟件編程 測試軟件
完善軟件,準(zhǔn)備論文寫作
修改論文,定稿,準(zhǔn)備答辯,材料歸檔 2010.10.28-2010.11.9 2010.11.16-2010.11.10 2010.11.29-2010.12.1
五、主要參考文獻(xiàn):
[1] ophone應(yīng)用開發(fā)權(quán)威指南 胡幸征著;—北京:電子工業(yè)出版社,2010.1 [2] 深入淺出Google Android/E2Ecloud 工作室編著?!本喝嗣襦]電出版社,2009.8 [3] Google Android開發(fā)入門與實(shí)戰(zhàn)/靳巖,姚尚朗編著?!本喝嗣襦]電出版社,2009.7 [4] Google Android SDK開發(fā)范例大全/余志龍等編著;王世江改編?!本喝嗣襦]電出版社,2009.7(2009.8重?。5] Android應(yīng)用框架原理與程序設(shè)計(jì)36技/高煥堂著;
六、指導(dǎo)教師審核意見:
指導(dǎo)教師簽字:
年 月 日
七、系、室、部(研究所)評議意見:
1.適合本專業(yè)的畢業(yè)設(shè)計(jì)課題;
2.不適合本專業(yè)的畢業(yè)設(shè)計(jì)課題;
3.其他
系、室、部(研究所)主任簽字:
八、開題小組評審意見:
開題小組組長簽字:
2009 年 9 月 27 日
九、系領(lǐng)導(dǎo)(答辯委員會(huì))審核意見:
1.通過; 2.完善后通過;
3.未通過
系領(lǐng)導(dǎo)(答辯委員會(huì))簽字:
2009 年 9 月 28 日
第五篇:MFC音樂播放器(實(shí)驗(yàn)報(bào)告)
音樂播放器大型實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)?zāi)康?/p>
通過動(dòng)手制作基于VC++的音樂播放器,了解播放器的原理。并通過自己動(dòng)手,在windows播放器組件的基礎(chǔ)上,用自己的算法,去實(shí)現(xiàn)自己的界面和自己的播放模式。
二、總體設(shè)計(jì)
(1)在visual c++環(huán)境下設(shè)計(jì)出一個(gè)音樂播放器的界面:具有打開音樂文件、播放歌曲,、暫?;蚧謴?fù)、停止、調(diào)節(jié)音量大小的功能;
音樂播放器
打開文件播放歌曲暫停播放停止播放音量控制(2)修改各個(gè)控件的屬性,并為其添加消息函數(shù);(3)用媒體控制接口MCI編程為各個(gè)消息函數(shù)添加代碼;(4)對該音樂播放器編譯--運(yùn)行。
三、實(shí)驗(yàn)步驟
(一):創(chuàng)建MFC應(yīng)用程序框架:
打開visual c++軟件,選擇“文件”—“新建”新建一個(gè)應(yīng)用程序文檔MFC AppWizard[exe],將工程命名為MFC音樂播放器,選擇合適的保存位置,然后“確定”選擇基本對話框,完成設(shè)置。
(二)編輯對話框:
在工作區(qū)內(nèi),設(shè)計(jì)出一個(gè)音樂播放器的界面,添加按鈕控件:瀏覽、播放、暫停、停止,添加一個(gè)滑動(dòng)條控件,一個(gè)靜態(tài)文本,兩個(gè)編輯框。
然后,依次修改各控件的屬性:
1)右擊靜態(tài)文本,選擇屬性,將標(biāo)題改為音樂名稱:
2)右擊編輯框,選擇屬性,將ID改為IDC_filename 3)右擊Button1,選擇屬性,將ID改為IDC_filechoice,將標(biāo)題改為瀏覽
3)右擊Button2,選擇屬性,將ID改為IDC_play,將標(biāo)題改為播放
4)右擊Button3,選擇屬性,將ID改為IDC_pause,將標(biāo)題改為暫停
5)右擊Button4,選擇屬性,將ID改為IDC_stop,將標(biāo)題改為停止
6)右擊滑塊,ID改為IDC_SLIDER
單擊樣式,點(diǎn)[P]:選擇頂端/左側(cè),選擇打勾標(biāo)記。
7)右擊編輯框,將ID改為IDC_vol
音樂播放器的界面已經(jīng)設(shè)計(jì)完畢,為:
(三)添加代碼 1)在頭文件處添加 #include “Mmsystem.h” #include “Digitalv.h”
#pragma comment(lib,“Winmm.lib”)
2)定義全局變量及成員函數(shù)。
//定義三個(gè)全局變量 HWND m_hWnd;DWORD DeviceID;MCI_OPEN_PARMS mciopenparms;
void Load(HWND hWnd,CString strFilepath){ m_hWnd=hWnd;mciSendCommand(DeviceID,MCI_CLOSE,0,0);//在加載文件前先清空上一次播放的設(shè)備
mciopenparms.lpstrElementName=strFilepath;//將音樂文件路徑傳給設(shè)備
DWORD dwReturn;if(dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_WAIT,(DWORD)(LPVOID)&mciopenparms)){
//如果打開文件失敗,則將出錯(cuò)信息儲(chǔ)存在buffer,并顯示出錯(cuò)警告
char buffer[256];
mciGetErrorString(dwReturn,buffer,256);
MessageBox(hWnd,buffer,“出錯(cuò)警告!”,MB_ICONHAND|MB_ICONERROR|MB_ICONSTOP);
} DeviceID=mciopenparms.wDeviceID;//打開文件成功就關(guān)聯(lián)文件到設(shè)備 }
void play(){ MCI_PLAY_PARMS mciplayparms;mciplayparms.dwCallback=(DWORD)m_hWnd;mciplayparms.dwFrom=0;//每次播放都是從0開始播放
mciSendCommand(DeviceID,MCI_PLAY,MCI_FROM|MCI_NOTIFY,(DWORD)(LPVOID)&mciplayparms);}
void pause(){ mciSendCommand(DeviceID,MCI_PAUSE,0,0);} void resume(){ mciSendCommand(DeviceID,MCI_RESUME,0,0);} void stop(){ mciSendCommand(DeviceID,MCI_STOP,0,0);mciSendCommand(DeviceID,MCI_CLOSE,0,0);//當(dāng)點(diǎn)擊停止按鈕時(shí),將所有的信息都清除掉 } DWORD setvolume(DWORD vol){ MCI_DGV_SETAUDIO_PARMS setvolume;//這是設(shè)置音量的參數(shù)數(shù)據(jù)結(jié)構(gòu)
setvolume.dwCallback=NULL;setvolume.dwItem=MCI_DGV_SETAUDIO_VOLUME;//動(dòng)作是設(shè)置音量
setvolume.dwValue=vol;//音量值是vol mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_DGV_SETAUDIO_ITEM|MCI_DGV_SETAUDIO_VALUE,(DWORD)(LPVOID)&setvolume);return 0;} 3)編輯各個(gè)控件的代碼
A)雙擊“瀏覽”按鈕,彈出一個(gè)對話框,選擇OK,出現(xiàn)代碼,添加:
char szFileFilter[]=“mp3文件(*.mp3)|*.mp3|”
“wma文件(*.wma)|*.wma|”
“wav文件(*.wav)|*.wav|”
“所有文件(*.*)|*.*|”;
CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);if(dlg.DoModal()==IDOK){ CString strFilepath=dlg.GetPathName();CString strFilename=dlg.GetFileName();SetDlgItemText(IDC_filename,strFilename);Load(this->m_hWnd,strFilepath);GetDlgItem(IDC_play)->EnableWindow(true);//文件讀取成功時(shí)所有按鈕變可選的 GetDlgItem(IDC_pause)->EnableWindow(true);
GetDlgItem(IDC_stop)->EnableWindow(true);} B)雙擊“播放”按鈕,彈出一個(gè)對話框,選擇OK,出現(xiàn)代碼,添加:
play();SetDlgItemText(IDC_pause,“暫停”);
C)雙擊“暫?!卑粹o,彈出一個(gè)對話框,選擇OK,出現(xiàn)代碼,添加:
CString strtemp;GetDlgItemText(IDC_pause,strtemp);//獲取按鈕狀態(tài) if(strtemp.Compare(“暫?!?==0){ pause();SetDlgItemText(IDC_pause,“恢復(fù)”);}
if(strtemp.Compare(“恢復(fù)”)==0){ resume();SetDlgItemText(IDC_pause,“暫?!?;}
D)雙擊“停止”按鈕,彈出一個(gè)對話框,選擇OK,出現(xiàn)代碼,添加:
stop();
SetDlgItemText(IDC_pause,“暫?!?;GetDlgItem(IDC_play)->EnableWindow(false);//當(dāng)stop按鈕按下時(shí),播放和暫停應(yīng)該均不可用 GetDlgItem(IDC_pause)->EnableWindow(false);
E)編輯滑塊及編輯框按鈕。
右擊滑塊,選擇建立類向?qū)?,選擇Member Variables,選擇Add Varriable?,在Member variable name:處改為m_slider.Category:處改為Control
右擊編輯框,操作同滑塊,Member variable name:處改為m_int.。Variable type:處改為int
右擊滑塊,選擇建立類向?qū)?,在Message Maps頁面,Object IDs:選擇IDC_SLIDER,在Messages:處選擇NM_CUSTOMDRAW。
添加滑塊及編輯框的代碼在圖示位置處添加
m_slider.SetRange(0,1000);//滑塊的移動(dòng)范圍0~1000 m_slider.SetPos(500);//滑塊指針的初始位置設(shè)為500代表初始音量為50 GetDlgItem(IDC_play)->EnableWindow(false);//文件沒有讀取時(shí)所有按鈕應(yīng)該是不可選的GetDlgItem(IDC_pause)->EnableWindow(false);GetDlgItem(IDC_stop)->EnableWindow(false);
雙擊滑塊按鈕,彈出一個(gè)對話框,選擇OK,添加代碼
UpdateData(true);m_int=m_slider.GetPos()/10;setvolume(m_slider.GetPos());UpdateData(false);
四、調(diào)試運(yùn)行
調(diào)試時(shí)無錯(cuò)誤,運(yùn)行時(shí)出來一個(gè)MFC界面,就可以添加歌曲,播放音樂了。至此一個(gè)簡單的音樂播放器就完成了。
五、總結(jié)分析
通過此次實(shí)驗(yàn),我不僅再次熟悉了visual C++環(huán)境,還學(xué)會(huì)了如何使用MCI在visual C++環(huán)境下制作一個(gè)音樂播放器,而且也牢固的掌握了媒體控制接口MCI的編程接口知識,當(dāng)真的做出一個(gè)簡單的音樂播放器時(shí),非常的開心。以后要多多學(xué)習(xí)這方面的知識,爭取了解更多的軟件基本原理。