李德平
(清遠職業(yè)技術(shù)學(xué)院 信息科技系,廣東 清遠 511510)
據(jù)市場研究機構(gòu)——易觀國際于2012年8月發(fā)布的數(shù)據(jù)顯示,中國主要Android應(yīng)用下載平臺中,視頻類應(yīng)用總下載量均出現(xiàn)了一定幅度的增長。從各應(yīng)用下載比例來看,在十大主流應(yīng)用中,前四名合計占比達到73%,中國視頻移動端市場呈現(xiàn)出極強的集中態(tài)勢。易觀數(shù)據(jù)顯示,愛奇藝影視憑借24.4%的下載量占比(Android下載市場)繼續(xù)保持行業(yè)領(lǐng)先地位,優(yōu)酷和PPTV則分別以16.9%、16.6%的比率緊跟其后(如圖1所示)??梢钥闯?,視頻移動端市場需求旺盛,競爭激烈,發(fā)展迅速,客戶對軟件的綜合性能要求越來越高。
為滿足移動互聯(lián)網(wǎng)用戶對視頻播放軟件的不同需求,探索Android技術(shù)的應(yīng)用,本文設(shè)計開發(fā)了基于Android 2.2及以上版本的播放器軟件,支持多種視頻及音頻格式文件的播放,界面友好美觀,操作方便快捷,系統(tǒng)資源占用率低,可靠性高。
該軟件功能需求分析如表1所示。
圖1 Android市場視頻類應(yīng)用下載量
表1 功能需求分析
本軟件在設(shè)計方面本著方便、實用及娛樂性高的宗旨,性能需求分析如表2所示。
表2 性能需求分析
2012年8月,中國移動互聯(lián)網(wǎng)第三方數(shù)據(jù)研究與營銷服務(wù)機構(gòu)——艾媒咨詢(iiMedia Research)發(fā)布的《2012Q2中國智能手機市場季度監(jiān)測報告》顯示,截至2012年Q2中國智能手機用戶數(shù)達到2.90億人,環(huán)比增長15.1%。在操作系統(tǒng)占有率方面,Android操作系統(tǒng)在中國智能手機市場中占據(jù)絕對領(lǐng)先地位,由上季度的55.4%迅速飆升為63.1%;Symbian系統(tǒng)依然主要靠市場的存量用戶支撐,占比下降明顯,為19.9%;iPhone由于新品遲遲沒有補給以及昂貴的售后服務(wù),后勁明顯不足,迫于Android的強勁進攻,占比下降至1.7%;諾基亞Lumia系列WP手機盡管市場推廣力度不弱,但是總體效果并不突出,WP系統(tǒng)占比2.8%,比上季度略有提升,但仍然處于市場弱勢(如圖2所示)。
圖2 2012Q2中國智能手機市場操作系統(tǒng)占有率狀況
本軟件為適應(yīng)市場環(huán)境,選擇運行環(huán)境在Android 2.2及以上系統(tǒng),具有512MB及以上內(nèi)存的智能手機上。軟件格式為1.65MB大小的apk安裝包,簡體中文版。
軟件功能結(jié)構(gòu)如圖3所示。
圖3 功能結(jié)構(gòu)圖
軟件類結(jié)構(gòu)及程序流程如圖4所示。
(1)音樂MadiaStore數(shù)據(jù)表(見表3)。
(2)最近播放歌曲數(shù)據(jù)表(見表4)。
實現(xiàn)方法是通過累計相應(yīng)歌曲的點擊率(clicks)和記錄播放的時間點(latest)作為相應(yīng)歌曲的數(shù)據(jù)屬性,然后通過對相應(yīng)歌曲所在的列表行序(_id)或歌曲序號(music_id)進行檢索,可以得到相應(yīng)歌曲的播放次數(shù)以及播放的時間點。該操作是判斷相應(yīng)歌曲是否屬于最近播放過歌曲的依據(jù)。
圖4 類結(jié)構(gòu)及程序流程圖
表3 音樂MadiaStore數(shù)據(jù)表
表4 最近播放歌曲數(shù)據(jù)表
(3)視頻數(shù)據(jù)表(見表5)。
表5 視頻數(shù)據(jù)表
本軟件設(shè)計的關(guān)鍵技術(shù)是實現(xiàn)音頻和視頻文件的同時播放以及文件播放進度與按鈕狀態(tài)更新的同步。在設(shè)計中,需使按鈕狀態(tài)和播放內(nèi)容保持相應(yīng)的一致。比如說,在滑屏換曲子或者是按下一曲、上一曲的按鈕時,原本在播放界面處于暫停狀態(tài)的歌曲(其按鈕狀態(tài)為暫停狀態(tài))會被切換到相應(yīng)的另一首歌曲;同時其播放按鈕的狀態(tài)也需要更新為播放狀態(tài)。
Android幫助文檔中將所有的控件都叫做Widget,平時我們說的Widget實際上是泛指App-Widget,即在手機桌面上放置的控件,比如時鐘,日歷等。通過使用AppWiget來實現(xiàn)對控件的監(jiān)聽與執(zhí)行指令設(shè)定,特別注意的是AppWidget和其原本的App并不在同一個進程中,而是運行在HomeScreen進程當(dāng)中,因此,對控件監(jiān)聽器的綁定、更新等操作與以前的基本方法都會有所不同。該過程一般需要實現(xiàn)一些相應(yīng)的PendingIntent。PendingIntent是一個特殊的Intent,像一個郵包,其中包裹著真正的Intent。當(dāng)郵包未打開時,Intent是被“掛起”的,所以并不執(zhí)行,只有當(dāng)郵包拆開時才會執(zhí)行,可理解為延遲執(zhí)行的Intent[1-3]。Android基本的設(shè)計理念是鼓勵減少組件間的耦合,因此,Android提供了Intent意圖,Intent提供了一種通用的消息系統(tǒng),它允許在你的應(yīng)用程序與其它應(yīng)用程序間傳遞Intent來執(zhí)行動作和產(chǎn)生事件。使用Intent可以激活A(yù)ndroid應(yīng)用的三個核心組件,即活動、服務(wù)和廣播接收器,如:RemoteViews.setOnClickPendingIntent(R.id.widgetButtonId,pendingIntent),其中,RemoteViews表示了一系列View對象,即AppWidget所有的控件,其標(biāo)示的對象都運行在另外的進程中。括號內(nèi)的第一個參數(shù)就是需要綁定的控件,第二個參數(shù)是點擊后觸發(fā)執(zhí)行的PendingIntent。在實現(xiàn)了為控件綁定監(jiān)聽器之后,仍需有能夠接收AppWidget中的廣播的機制,即AppWidget與AppWidgetProvider的互動,其具體實現(xiàn)步驟如下:
(1)在AndroidManifest.xml中為AppWidget-Provider注冊intent-filter;
(2)使用getBroadcast方法創(chuàng)建一個Pending-Intent對象;
(3)為AppWidget中的控件注冊處理器,即綁定監(jiān)聽器;
(4)在onReceive方法中接收廣播消息。
最后是AppWidget中控件狀態(tài)的更新實現(xiàn)。在AppWidget中的更新操作是使用RemoteViews的一系列方法進行的,比如更換圖片:Remote-Views.setImageViewResource等,更新后使用App-WidgetManager通知AppWidget進行更新[2-3]。這里的廣播發(fā)送須在onReceive方法里實現(xiàn)更新操作,即需要覆寫onReceive方法。事件的廣播是構(gòu)建Intent對象,然后調(diào)用sendBroadcast( )方法將廣播發(fā)出。事件的接受是通過定義一個繼承Broadcast Receiver的類來實現(xiàn)的,繼承該類后,覆蓋其on-Receive( )方法,在該方法中響應(yīng)事件[4-5]。
(1)類的實現(xiàn)
本軟件所涉及的類的實現(xiàn)如圖5所示。
圖5 欣悅影音播放器軟件所實現(xiàn)的類
(2)功能效果圖
欣悅影音播放器軟件部分功能效果如圖6、圖7、圖8、圖9所示。
圖6 3D立體特效旋轉(zhuǎn)
圖7 音樂播放
圖8 搖甩換歌曲
圖9 視頻播放
基于Android的欣悅影音多媒體播放軟件開發(fā)了多媒體播放器界面,具有音樂播放、視頻播放、管理多媒體文件等功能;主要克服了播放控制條的控制、消息處理、聲音的播放、視頻圖像的顯示、多媒體文件的搜索與自動檢測、播放列表生成、播放內(nèi)容與進度條同步等技術(shù)難題。本軟件的創(chuàng)新點在于超炫個性化菜單,3D立體畫面旋轉(zhuǎn)切換,音視頻播放完美組合,搖甩換歌曲,設(shè)置個性化皮膚,睡眠定時,系統(tǒng)資源占用率低等。
[1]謝景明.Android移動開發(fā)教程(項目式)[M].北京:人民郵電出版社,2013:160-216.
[2]苗忠良,宛斌.Android多媒體編程從初學(xué)到精通[M].北京:電子工業(yè)出版社,2011:106-148.
[3](美)ChrisHaseman.Android應(yīng)用開發(fā)[M].北京:人民郵電出版社,2013:144-159.
[4]趙書蘭.Android開發(fā)與實戰(zhàn)[M].北京:電子工業(yè)出版社,2013:425-464.
[5]郭金尚.Android經(jīng)典項目案例開發(fā)實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2013:493-519.
河北軟件職業(yè)技術(shù)學(xué)院學(xué)報2014年1期