胡元元
沈陽(yáng)工學(xué)院
假日音樂(lè)播放器的設(shè)計(jì)與開(kāi)發(fā)
胡元元
沈陽(yáng)工學(xué)院
1.1 編寫目的
隨著音樂(lè)版權(quán)的日益完善,收費(fèi)音樂(lè)即將逐漸成為主流?,F(xiàn)在世面上有許多的聽(tīng)歌軟件,更完善的曲庫(kù),更強(qiáng)大的社交功能。但是這些軟件逐漸的偏離了音樂(lè)的初衷,也在企業(yè)的競(jìng)爭(zhēng)中逐漸的轉(zhuǎn)向與社交與其他服務(wù)的推進(jìn)。所以我們團(tuán)隊(duì)想編寫一個(gè)專注于音樂(lè)本身的播放器,他擁有簡(jiǎn)潔的界面設(shè)計(jì),簡(jiǎn)潔而強(qiáng)大的功能,他可以支持多種音樂(lè)格式,可以播放用戶收藏在本地的音樂(lè)文件并且創(chuàng)建自己喜歡的歌單。通過(guò)這款軟件,可以讓我們更加回歸到音樂(lè)本身,感受到純凈的音樂(lè)帶來(lái)的樂(lè)趣。
1.2 開(kāi)發(fā)工具
本項(xiàng)目使用Android Studio2.2版本編寫,軟件的界面圖片使用Photoshop CC 2014進(jìn)行處理,軟件的logo使用Adobe illustrator CC進(jìn)行設(shè)計(jì)。
2.1 系統(tǒng)總體結(jié)構(gòu)
該音樂(lè)播放器定位與本地音樂(lè)的播放,他有著強(qiáng)大的曲庫(kù)管理功能,我們?yōu)樗砑恿藪呙璞镜馗枨墓δ?,他可以掃描用戶存?chǔ)到手機(jī)的歌曲,然后可以自動(dòng)添加到手機(jī)的歌單,我們還為他添加了:文件夾功能,歌曲可以根據(jù)所在的文件夾進(jìn)行顯示,方便與用戶的管理;按照不同的類型進(jìn)行分類:我們有專輯,音樂(lè)家等標(biāo)簽,方便與用于進(jìn)行歌曲的查找;我們添加了睡眠功能,讓大家可以在夜間方便的聽(tīng)歌;擁有不同的循環(huán)模式,可以滿足不同人的不同需求;在最新的1.3版本里,我們?yōu)樗砑拥母鼡Q背景的功能,滿足喜歡追求個(gè)性的人;獨(dú)有的搖一搖更換歌曲的功能,更是能方便人們的使用。
2.2 系統(tǒng)功能模塊概述
(1)掃描歌曲:掃描本機(jī)已下載的歌曲,添加到假日音樂(lè)軟件APP,在用戶想聽(tīng)音樂(lè)時(shí)直接打開(kāi)假日音樂(lè)就可以,該模塊調(diào)用了Android的存儲(chǔ)功能。(2)我的音樂(lè):管理本機(jī)已下載音樂(lè),分組音樂(lè)管理,將音樂(lè)文件的目錄添加到軟件中方便下次存取文件。(3)播放列表:主要的音樂(lè)列表,顯示可以播放的音樂(lè),可以進(jìn)行選歌,切歌,暫?;蜷_(kāi)始的控制。(4)文件夾:本機(jī)音樂(lè)根文件的存儲(chǔ)位置,可以根據(jù)顯示的位置找到歌曲文件。(5)播放模式:根據(jù)用戶的需求來(lái)調(diào)整歌曲播放的模式,可以單曲循環(huán),隨機(jī)播放,指定列表的播放,滿足用戶需求。(6)搖一搖:在用戶不方便拿出手機(jī)又需要進(jìn)行換歌的時(shí)候,搖晃手機(jī)可以讓用戶方便快捷的進(jìn)行歌曲切換。
(1)搖一搖換歌:在音樂(lè)播放界面可以搖動(dòng)手機(jī)進(jìn)行下一曲播放,我們通過(guò)對(duì)Android Studio模擬器的數(shù)據(jù)進(jìn)行分析對(duì)搖一搖換歌進(jìn)行特別的處理,可以有效的防止誤操作導(dǎo)致歌曲的中斷。
(2)播放界面可以控制系統(tǒng)音量:為了方便用戶聽(tīng)音樂(lè)時(shí)候的體驗(yàn),我們?cè)诓シ沤缑嫔线M(jìn)行了改動(dòng),可以直接對(duì)系統(tǒng)的音量進(jìn)行控制,方便用戶的操作。
(3)播放隊(duì)列的添加:用戶可以不用返回主界面即可進(jìn)行歌曲的選擇操作,大大方便了用戶的使用,提升了軟件的體驗(yàn)。
(4)可以過(guò)濾小音頻文件:在手機(jī)有些時(shí)候會(huì)存在鈴聲等音頻文件,如果一起導(dǎo)入會(huì)極大的影響體驗(yàn),所以我們?cè)O(shè)置可以過(guò)濾掉小音頻文集不會(huì)講鈴聲誤導(dǎo)入軟件。
4.1 系統(tǒng)主界面
軟件的主界面分為三個(gè)部分:標(biāo)題,主界面,播放控制條。二級(jí)界面分為菜單,播放界面,歌曲管理界面。
在軟件的主界面上面可以進(jìn)行歌曲的選擇和管理,我們默認(rèn)提供了五項(xiàng)分類,還可以根據(jù)需求向我的最愛(ài)添加歌曲,方便用戶使用。
在主界面右側(cè)向左滑動(dòng)可以調(diào)出軟件的一級(jí)菜單,一級(jí)菜單提供選項(xiàng)可以選擇進(jìn)入二級(jí)菜單進(jìn)行更多的設(shè)置。
4.2 功能模塊實(shí)現(xiàn)
4.2.1 本地文件的掃描和歌曲導(dǎo)入
這是本項(xiàng)目的核心功能,通過(guò)本地曲庫(kù)的支持,然后能讓我們的軟件發(fā)揮更大的功能,此模塊的功能可以將本地的曲庫(kù)導(dǎo)入到軟件中,用戶可以在文件夾和播放列表中找到導(dǎo)入個(gè)歌曲文件并且進(jìn)行下一步的管理和播放操作。
4.2.2 本地曲目的分類管理
當(dāng)本地歌曲超過(guò)一定數(shù)目時(shí),龐大的歌單會(huì)使用戶找不到自己喜歡的音樂(lè),所以我們?cè)O(shè)計(jì)了5個(gè)類別,使用戶可以更容易地管理音樂(lè),這五個(gè)類別均通過(guò)獲取到音樂(lè)的MD3標(biāo)簽對(duì)音樂(lè)進(jìn)行智能分類。
4.2.3 歌詞文件的讀取調(diào)用
為了方便用戶能更快學(xué)習(xí)喜歡的歌曲,我們?cè)谶@里添加了歌詞下載的功能,在這個(gè)模塊中,我們申請(qǐng)了百度音樂(lè)盒的歌詞下載api,將歌曲的名稱,藝術(shù)家等信息,發(fā)送到百度的歌詞請(qǐng)求服務(wù)器,通過(guò)返回的xml文檔,使用Android自帶的api實(shí)現(xiàn)對(duì)xml文檔的解析服務(wù)。
4.2.4 滑動(dòng)菜單的功能實(shí)現(xiàn)
為了方便用戶體驗(yàn),我們專門寫了一個(gè)包,對(duì)用戶的UI和二級(jí)界面進(jìn)行處理,其中一項(xiàng)就是添加了滑動(dòng)返回和滑動(dòng)菜單這個(gè)項(xiàng)目。
通過(guò)滑動(dòng),更加符合用戶的體驗(yàn)習(xí)慣,Android操作系統(tǒng)在目前的版本上已經(jīng)極大的推廣了Material Design的設(shè)計(jì)規(guī)范,所以我們?cè)谠O(shè)計(jì)中,也將Material Design設(shè)計(jì)規(guī)范添加到了我們的項(xiàng)目中。