錢甜
(西安航空職業(yè)技術(shù)學院 大學生藝術(shù)教育中心, 西安 710089)
隨著移動互聯(lián)網(wǎng)的快速發(fā)展,人們的精神生活也逐漸向移動互聯(lián)網(wǎng)轉(zhuǎn)移,移動應(yīng)用已經(jīng)逐漸占領(lǐng)了人們的日常生活,音樂,已經(jīng)成為大部分人生活中不可缺少的一部分,移動互聯(lián)網(wǎng)使音樂從PC機轉(zhuǎn)移到手機或平板電腦上,數(shù)字音樂的出現(xiàn)也順應(yīng)了網(wǎng)絡(luò)發(fā)展的趨勢[1],充分的解決了音樂播放空間的局限性,所以構(gòu)建簡潔易用的在線音樂客戶端有利于人們對音樂的追求,為音樂提供了良好的展示平臺。
滿足用戶體驗需求與功能設(shè)計需求。
(1) 友好界面,客戶端的展示界面要直觀簡潔,易于操作。
(2) 響應(yīng)迅速,對用戶的請求快速處理。
(3) 無縫銜接,在運用到Android系統(tǒng)上時,程序運行的過程中要對電話、短信等程序的產(chǎn)生做好處理,程序切換要做到無縫對接。
在線音樂客戶端功能設(shè)計框架,如圖1所示。
(1) 歌曲的播放及控制
該系統(tǒng)的設(shè)計是控制音樂的播放,對歌曲控制開始和暫停,上下首播放歌曲進行控制。為歌曲的播放設(shè)置不同的播放模式。
圖1 在線音樂客戶端功能架構(gòu)圖
(2) 歌曲下載以及列表管理
音樂播放器要能夠按照用戶的需求對歌曲文件以及列表進行掃描,提供對各種列表進行管理的功能。
(3) 歌詞控制以及圖片顯示
正在播放的歌曲要提供相應(yīng)的歌詞,并且對歌詞進行調(diào)整,針對不同的歌曲要顯示相關(guān)的專輯圖片。
(4) 歌曲、歌詞搜索
根據(jù)客戶的需求對所需的歌曲、歌詞以及相關(guān)圖片進行搜索,對所獲資源進行存儲與展示。
(5) 個性設(shè)置
可以對播放器背景皮膚進行更改。
本文所設(shè)計的音樂在線客戶端對軟硬件的需求并不高,可以滿足任何智能手機。Android在系統(tǒng)中集成了多媒體框架,可以通過此特性快速的開發(fā)屬于自己的多媒體應(yīng)用。Android操作系統(tǒng)自誕生以來,始終是開源的,所以不存在額外的成本與法律風險,該客戶端可以直接在開發(fā)客戶端進行下載。
在線音樂系統(tǒng)主要通過數(shù)據(jù)存儲模塊、網(wǎng)絡(luò)連接模塊、歌曲播放模塊以及歌曲下載模塊對系統(tǒng)進行設(shè)計與實現(xiàn)。整體框架如圖2所示。
此模塊主要是提供數(shù)據(jù)資源,根據(jù)不同的需求,會將系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)變?yōu)椴煌姆绞竭M行存儲。
2.1.1 歌曲信息存儲
一般情況下,歌曲在系統(tǒng)中主要以文件的形式進行存儲。在該系統(tǒng)中,主要以SQLite數(shù)據(jù)庫的形式進行存儲,在SQLite中,每一個表都會對應(yīng)相應(yīng)的歌曲信息。
歌曲的相關(guān)信息主要包括:歌曲名、歌手名、專輯名、文件格式、播放時長、文件大小、相關(guān)圖片存儲路徑等等。這些信息都會按照調(diào)用頻率被分割在數(shù)據(jù)表中[2]。具體的數(shù)據(jù)表設(shè)計如表1所示。
表1 分割數(shù)據(jù)表
在本次設(shè)計中,對數(shù)據(jù)庫的操作接口進行了封裝,并且針對客戶的實際需求,提供了數(shù)據(jù)查找、修改以及增刪的功能[3]。
2.1.2 配置信息的存儲
本次所設(shè)計的音樂系統(tǒng)信息設(shè)置主要有耳機設(shè)置、一般設(shè)置、歌詞圖片設(shè)置、音樂云設(shè)置、其他設(shè)置。具體介紹如表2所示。
網(wǎng)絡(luò)連接模塊是在線音樂系統(tǒng)的主要模塊。主要功能是客戶端和服務(wù)器的連接??蛻舳嗽诰W(wǎng)絡(luò)環(huán)境下在服務(wù)器上獲得資源,有支持歌曲、歌詞下載,歌曲識別等多種功能,網(wǎng)絡(luò)連接模塊的設(shè)計會針對不同的需求,提供不同的接口。
表2 系統(tǒng)設(shè)置信息表
該模塊屬于在線音樂客戶端的核心模塊,用戶使用最多的模塊便是歌曲播放模塊。通過該模塊可以實現(xiàn)對歌曲播放任務(wù)的控制,對播放列表選取上下首、暫停、播放控制。
2.3.1 歌曲播放模塊設(shè)計
歌曲播放在后臺運行,通過這方面來看,與Service組件的效果很接近,所以,對歌曲播放模塊來講,可以設(shè)計為一個Service。用戶可以通過手機的HOME鍵退出應(yīng)用程序,這些操作都不會對音樂的播放造成影響。播放控制的入口操作主要為歌曲項的點擊播放,播放控制與用戶操作關(guān)系流程如圖3所示。
圖3 播放控制流程
此音樂系統(tǒng)支持mp3等音頻播放,支持播放手機終端。本系統(tǒng)需要對本地以及網(wǎng)絡(luò)的各種輸入流的差異性進行屏蔽,對不同輸入流提供統(tǒng)一接口。
2.3.2 正在播放場景實現(xiàn)
正在播放場景可以為歌曲提供展示界面,主要包括歌曲歌詞以及相關(guān)的圖片,該用戶界面是用戶控制的界面[4]。場景界面布局設(shè)計如圖4所示。
圖4 播放場景界面
該模式的應(yīng)用具有一定的普遍性,有播放及音量調(diào)整按鈕,歌曲標題及歌詞顯示??刂茩谠诮缑娴撞俊?刂茩谏戏綖楦柙~。
2.4.1 下載模塊設(shè)計
為了實現(xiàn)網(wǎng)絡(luò)歌曲的下載,該客戶端在網(wǎng)絡(luò)曲庫中提供了大量資源,系統(tǒng)提供網(wǎng)絡(luò)搜索功能,用戶可以將喜歡的歌曲添加到下載列表中。系統(tǒng)通過下載管理界面,對歌曲的下載任務(wù)進行管理??梢栽凇罢谙螺d”的頁面中對下載任務(wù)進行暫停或刪除,可以在“下載完成”頁面中進行歌曲播放、移出等操作。目前的手機終端已經(jīng)進入了智能化階段,該系統(tǒng)中,每次僅允許對一個任務(wù)進行下載,一個任務(wù)下載完成之后,自動繼續(xù)下一個任務(wù)。受到這種策略的影響,“正在下載”的任務(wù)就會存在就緒、下載、暫停三種狀態(tài)。除了用戶明確指定啟動或暫停某個任務(wù),當有任務(wù)正在進行時,無論當前的下載任務(wù)被移除或者已經(jīng)下載完成,系統(tǒng)都會自動開始下一任務(wù)的開始。
2.4.2 下載管理實現(xiàn)
在線音樂系統(tǒng)的下載管理模塊實現(xiàn),主要通過一個DownloadProvider的類以及相關(guān)的輔助類進行實現(xiàn)。根據(jù)不同用戶的需求進行相對應(yīng)的相應(yīng),并且可以通知前端下載管理頁面進行更新。在底層網(wǎng)絡(luò)連接模塊中要為DownloadProvider提供網(wǎng)絡(luò)資源,設(shè)計用于網(wǎng)絡(luò)資源請求的接口。
在線音樂客戶端在音樂播放的過程中,歌曲文件已經(jīng)還沖到本地,已經(jīng)緩沖的本地文件是可以利用的,在底層的網(wǎng)絡(luò)連接模塊中為歌曲文件的下載提供斷點續(xù)傳功能。在歌曲緩沖或者下載完成之后,程序會進行相應(yīng)的操作,保證文件按照正常的音頻格式進行存儲[5]。添加新下載任務(wù)的流程如圖5所示。
2.4.3 下載界面設(shè)計
在下載管理界面中,主要由正在下載與下載完成兩個列表組成,通過這兩個列表可以對歌曲的下載任務(wù)進行管理。在正在下載任務(wù)項中,會給用戶展示任務(wù)的下載進程,包括下載進度、歌曲名以及相關(guān)信息。下載完成任務(wù)項會包含歌曲所在列表的索引、播放、暫停狀態(tài)以及歌曲的相關(guān)信息等。
該測驗主要是針對MP3解碼播放的測試,可以實現(xiàn)MP3格式音樂文件的解碼播放,使系統(tǒng)的播放功能更加全面,對播放流程也有所控制,而且為系統(tǒng)提供了更好的擴展性能。對于MP3解碼播放功能的測試,主要可以通過以下幾方面來進行:
圖5 添加下載任務(wù)流程
(1) 對播放穩(wěn)定性的測試:在Android設(shè)備中,確保電源充足的前提下,長時間的播放MP3格式歌曲,體驗歌曲播放的質(zhì)量。在中興X876手機上,對不同來源的100首MP3歌曲進行循環(huán)播放。只有兩首出現(xiàn)破音情況,主要原因是解碼播放模塊所獲取的比特率不準確。測試的整體效果能夠達到預(yù)期的要求。
(2) 資源消耗測試:在同一設(shè)備中,分別通過系統(tǒng)解碼器和自己實現(xiàn)的解碼器對MP3歌曲進行播放,觀察兩者資源的消耗情況。在中興X876手機上,將其他程序關(guān)閉,采用自己實現(xiàn)的解碼器,CPU的使用率在20%。而采用系統(tǒng)解碼器CPU使用率在15%。所以,該解碼播放模塊比較符合消耗標準。
(3) 兼容性測試:在不同的硬件條件下,程序使用自己實現(xiàn)的解碼播放模塊的系統(tǒng)消耗與整體的運行情況相比較。將該音樂客戶端運行于不同的Android設(shè)備上,該音樂客戶端表現(xiàn)的都很順暢,在配置相對較低的手機上,CPU的占用率會偏高,但是不影響正常使用。
結(jié)束語:本文主要對在線音樂客戶端進行設(shè)計,針對數(shù)據(jù)存儲、網(wǎng)絡(luò)連接、歌曲播放以及下載等模塊具體分析。基本能夠?qū)崿F(xiàn)應(yīng)用的具體需求,但是仍然存在一些不足,例如:產(chǎn)品的展示主要依賴列表的形式,頁面組織比較單調(diào);在解碼播放模塊中,僅實現(xiàn)了MP3格式文件的解碼播放。在后續(xù)的研究中,需要對該系統(tǒng)進行進一步拓展與完善。