聶 茹,黃誠燦
Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源移動終端操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,是首個為移動終端打造的真正開放和完整的移動軟件[1]。
隨著計算機的廣泛運用,手機市場的迅速發(fā)展,各種音頻視頻資源也在網(wǎng)上廣為流傳,這些資源看似平常,但已經(jīng)漸漸成為人們生活中必不可少的一部分了。于是各種手機播放器也緊跟著發(fā)展起來,但是很多播放器一味追求外觀花哨,功能龐大,對用戶的手機造成了很多資源浪費,比如CPU,內(nèi)存等的占用率過高,在用戶需要多任務操作時,受到了不小的影響,帶來了許多不便,而對于大多數(shù)普通用戶,許多功能用不上,形同虛設。針對以上各種弊端,選擇了開發(fā)實用的Android音樂播放器,將各種性能優(yōu)化,繼承播放器的常用功能,滿足一般用戶的需求,能夠實現(xiàn)音樂的播放、暫停、快進、快退、上一曲、下一曲、聲音控制、播放列表,播放時間以及播放列表。通過播放列表,用戶可以選擇播放的音樂,播放器也可以顯示該音樂的歌曲名、專輯、歌手以及歌曲的播放總時間,播放進度等歌曲的相關功能;用戶還可以通過音樂增減按鈕調(diào)節(jié)聲音大小,還可以選擇循環(huán)播放和順序播放。
Android SDK(Software Development Kit)提供了使用Java進行Android應用開發(fā)的應用程序接口和工具。其中,Android模擬器和Eclipse[2]開發(fā)工具是最重要的工具,同時SDK也包含了各種在模擬器上用于調(diào)試、打包和安裝的工具。
Android是軟件集,它包括一個操作系統(tǒng),中間件和一些重要的應用程序[3]。Android的系統(tǒng)架構從上往下依次是應用程序、應用程序框架和組件、Android運行時庫和其他庫、優(yōu)化的Linux內(nèi)核[4~5]。
如圖1所示:
圖1 功能模塊圖
首先,搭建android平臺,通過Eclipse以及環(huán)境變量的配置搭建android平臺,實現(xiàn)手機模擬器然后搭建音樂播放器的界面,通過使用android的組件,將相關的動作按鈕通過啟動StartIntent()方法來使各組件進行跳轉,實現(xiàn)音樂播放器的功能,其具體的實現(xiàn)采用java語言。
先實現(xiàn)播放頁面的 (包括各種控制按鈕和專輯圖片)布局代碼 main.xml以及播放列表的界面設計playlist.xml文件。
其中播放按鈕、暫停、上一曲、下一曲、聲音按鈕采用xml文件,在按下和得到焦點的時候會做相應的改變,關鍵代碼如下:
有兩個動畫文件log.xml和log_two.xml文件,當動畫結束時啟動另外一個activity動畫特效是兩個imageView同時采用淡入,旋轉和,縮放的特效其調(diào)入動畫關鍵代碼為:
音樂播放器包括聲音控制模塊,上一曲下一曲,播放,暫停,播放列表幾個模塊。
3.3.1 聲音控制模塊
聲音有兩個按鈕控制,一個增加聲音和一個減少聲音。通過這兩個按鈕用戶可以調(diào)節(jié)播放音樂的聲音大小,使用AudioManager組件對聲音的大小進行增減,最大為7,最小為0。當用戶點擊聲音按鈕時,若是增按鈕,對聲音進行增加;若是減按鈕對聲音進行減小,如圖2所示:
圖2 聲音控制圖
關鍵代碼如下:
聲音控制的程序流程圖如下所示:
3.3.2 播放暫停模塊
當用戶點擊播放暫停按鈕時,播放器就對當前播放事件監(jiān)聽,從而控制當前音樂的播放暫停,關鍵代碼如下://播放按鈕
3.3.3 上一曲下一曲模塊
當用戶點擊上一曲下一曲按鈕時,播放器就對當前播放事件監(jiān)聽,從音樂列表中轉換音樂,從而控制當前音樂的上一曲下一曲,關鍵代碼如下:
//上一曲鍵事件監(jiān)聽器
圖3 聲音控制流程圖
3.3.4 音樂播放列表模塊
音樂播放列表由activity組件是實現(xiàn),能夠對當前android手機模擬器sd卡中MP3音樂文件進行讀取和顯示,包括歌曲名、專輯、歌曲時間以及歌手名。用戶可以選擇想要播放的音樂對其播放。
音樂播放列表,如圖4所示:
圖4 音樂播放器列表
本文對播放器的系統(tǒng)結構框架做了精心的構思與設計,采用主要開發(fā)工具是Eclipse6.0和Java語言的支持,Android Development Tool的插件,Android SDK2.3版本的全面結合,使整個音樂播放器系統(tǒng)功能得以實現(xiàn)。夠實現(xiàn)音樂的播放、暫停、快進、快退、上一曲、下一曲、聲音控制、播放列表,播放時間以及播放列表。通過播放列表,用戶可以選擇播放的音樂,播放器也可以顯示該音樂的歌曲名、專輯、歌手以及歌曲的播放總時間,播放進度等歌曲的相關功能;用戶還可以通過音樂增減按鈕調(diào)節(jié)聲音大小,還可以選擇循環(huán)播放和順序播放,因此,該款基于Android的音樂播放器系統(tǒng)具有很好的發(fā)展前景。
[1]百度百科.Android[EB/OI].[2009-07-23].http://baike.b aidu.com/view/1241829.htm?fr=ala0_1_1 Baidu Encyc lopedia.Android[EB/OI].[2009-07-23].http://baike.bai du.com/view/1241829.htm?fr=ala0_1_1.
[2]葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社,2006 YE Da-feng.Eclipse programming tech niques and examples [M].Beijing: People's Posts and Telecommunications Press, 2006
[3]姚昱曼,劉衛(wèi)國.Android的架構與應用開發(fā)研究[J].計算機系統(tǒng)應用,2008(11):110-112 YAO Yu-man,LIU Wei-guo.Research on Android architecture and application development[J].Computer Systems & Applicati ons, 2008(11):110-112
[4]陳琮,陳平華,李文亮.Android內(nèi)核分析[J].現(xiàn)代計算機,2009(11):112-115 CHEN Jing,CHEN Ping-hua,LI Wen-liang.Analysis of Android kernel [J].Modern Computer, 2009(11):112-115
[5]田森,李大和.用Android開發(fā)手機應用[J].程序員,2008(1):56-61 TIAN SEN,LI Da-he.Development o f mobile phone application with Android[J].Programmer, 2008(1):56-61