王啟明+王鋒
摘要:基于Android 4.0開發(fā)平臺,設計并實現(xiàn)了一款界面美觀、簡單易操作的多媒體播放器,能夠?qū)崿F(xiàn)多媒體文件檢索、音頻播放和視頻播放等功能。描述了播放器界面、音頻播放和視頻播放等主要功能模塊的設計過程。測試結(jié)果表明,播放器界面功能完善、大方直觀、操作簡潔、工作穩(wěn)定,適于用戶操作完成其各項功能。
關(guān)鍵詞:Android;多媒體;播放器、Java
中圖分類號:TP37 文獻標識碼:A 文章編號:1009-3044(2016)31-0199-02
Abstract: In this paper, a kind of multimedia player is designed and implemented based on the Android4.0 developing platform and Java programing language. It can realize such functions as multimedia document retrieval, audio player and video playback, etc. The main modules, such as user interface, audio player and video player, are detailed described. Test results showed the player has a good performance.
Key words: Android; multi-media; player; Java
1 背景
隨著科學技術(shù)的進步,通信技術(shù)的迅速發(fā)展,手機的功能越來越多,對我們?nèi)粘I畹挠绊懸彩窃絹碓酱蟆,F(xiàn)如今的手機功能越來越多,隨著智能手機的快速發(fā)展,各種風格的智能手機多媒體播放器也緊跟著發(fā)展起來。
本文基于Android 4.0手機操作平臺,開發(fā)一款實用的且個性的手機多媒體播放軟件。詳細介紹了主要的功能模塊,如用戶界面、音頻播放和視頻播放的實現(xiàn)過程。
2 軟件需求分析
軟件的需求分析是完成任務的重要一步。以下分別描述用戶需求設計和更能設計。
2.1 用戶需求
1)擁有漂亮的界面能且夠帶來音樂視聽享受。
2)功能較多,界面美觀,操作方便。
3)能夠滿足廣大用戶的播放器的個性化設置需求。
4)能夠有龐大的音樂庫,音樂視頻管理功能也要相當出色。
2.2 功能需求
在當前的軟件市場需求中,播放器的功能是用戶選擇播放器的一個重要參考。本設計的軟件功能需求分析如表1所示。
3 系統(tǒng)軟件設計
軟件功能結(jié)構(gòu)圖如圖1所示:
3.1 播放器界面設計
選擇界面及播放器主界面,是程序主界面。該界面設置了2個button按鈕,每一個按鈕都用setOnClickListener()來設置監(jiān)聽,并由doClick()實現(xiàn)其相應頁面的跳轉(zhuǎn)。當用戶點擊本地音樂這個按鈕時,主界面就會跳轉(zhuǎn)至本地音樂文件的文件夾上,這時用戶可以自己選擇需要播放的音樂文件。
3.2 音樂播放設計
音頻播放使用的是MedidaPlayer方式。首先初始化File對象,把需要播放的音樂文件的路徑作為參數(shù)傳入 setPath() ,然后用 setPath()獲取待播文件的路徑并傳入其存儲路徑,再通過該路徑設置數(shù)據(jù)源,定義search對象來尋找歌曲,調(diào)用refreshView()方法來讀取sd卡歌詞,在MusicActivity()中載入動作并接收Receiver發(fā)來的消息,最后通過MediaPlayer.start()實現(xiàn)音頻的播放[16]。也可以首先指定文件或文件名路徑,然后再調(diào)用播放的方法來實現(xiàn)音頻文件的播放。音樂的播放、暫停、停止分別使用了play()、pauee()、stop()方法。同時,MediaPlayer也設置了很多監(jiān)聽器,如OnClickListener、createTableContent、OnCreatContextMenuListener、OnItemListenerOnClickListener等。音頻輸出流程圖如圖2所示。
3.3 視頻播放設計
在播放視頻文件之前,要先確認是否已進入Prepared狀態(tài)和讀取視頻文件,以獲得視頻文件的長度。為了確保這兩件事情同步完成,首先要實現(xiàn)onPrepared()和onVideoSizeChanged()方法的監(jiān)聽功能,管理兩個時間的同步完成時刻變量mIsVideoReadyToBePlayed()和mIsVideoSizeKown,當onPrepard()方法被執(zhí)行時,將會設置變量mIsVideoReadyToBePlayed()為true,由Initialized狀態(tài)進入Prep
ared狀態(tài);當onVideoSizeChanged()方法執(zhí)行時,會設置變量mIsVideoSizeKown為true,來取得要播放的視頻的長度。當變量mIsVideoReadyToBePlayed和mIsVi
deoSizeKown都為true時,調(diào)用startVideoPlayback()方法,設置好播放視頻的長度,再開始播放。視頻輸出流程圖如圖3所示。
4 軟件測試
將軟件安裝至安卓手機上進行測試。其測試結(jié)果如表2所示。
測試結(jié)果表明,播放器各項功能得到很好的實現(xiàn)和體驗。
5 結(jié)束語
基于Android系統(tǒng)設計了一款多媒體播放器,該播放器實現(xiàn)了對安卓設備中音視頻文件的播放,并且可以自定義管理本地文件等。該軟件系統(tǒng)穩(wěn)定,功能齊全,成本低,符合設計要求,界面簡潔,美觀大方,便于與用戶之間的交流。
參考文獻:
[1] 李俊韜, 陳星浩, 劉丙午. 物聯(lián)網(wǎng)技術(shù)教學實驗系統(tǒng)的研究[J]. 鐵路計算機應用, 2012, 21(6): 70-72.
[2] 耿東久, 索岳, 陳渝, 等. 基于Android手機的遠程訪問和控制系統(tǒng)[J]. 計算機應用, 2011, 31(2): 559-561.
[3] 張慶英, 何寧英. 基于RFID的冷庫管理信息系統(tǒng)[J]. 武漢理工大學學報:信息與管理工程版, 2011(4).
[4] Andriod底層及應用開發(fā)實驗指導書[Z]. 北京西普陽光教育科技股份有限公司, 2015.
[5] 高昂. 支持動態(tài)語言的Android平臺[J]. 程序員, 2009(8): 22.
[6] 靳巖. Google Android開發(fā)入門與實戰(zhàn)[M]. 北京: 人民郵電出版社, 2009.
[7] E2ECloud工作室. 深入淺出Google Android[M]. 北京: 人民郵電出版社, 2009.
[8] 鄭健, 賀超. Android和Chrome的發(fā)展與未來[J]. 移動通信, 2010, 34(11): 80-82.
[9] 趙亮, 張維. 基于Android技術(shù)的界面設計與研究[J]. 電腦知識與技術(shù), 2009, 5(29): 8183-8185.
[10] 公磊, ZHOU Cong. 基于Android的移動終端應用程序開發(fā)與研究[J]. 計算機與現(xiàn)代化, 2008, 2008(8): 85-89.
[11] 陳昱, 江蘭帆. 基于Google Android平臺的移動開發(fā)研究[J]. 福建電腦, 2008, 24(11): 156-157.
[12] Alessio Merlo, Gabriele Costa,Luca Verderame. Alessandro ArmandoAndroid vs. SEAndroid: An empirical assessment 10.1016/j.pmcj.2016. 01. 006.
[13] Enck W, Ongtang M, Mcdaniel P. Understanding Android Security[J]. IEEE Security & Privacy, 2009, 7(1): 50-57.