安卓開發(fā)3 音樂播放器

一、本項目完成的功能

1.實現(xiàn)音樂播放器的基本功能:播放音樂,暫停音樂施无,停止音樂,切換到上一首或者下一首音樂

2.實現(xiàn)一些進階功能:顯示專輯封面禽绪、歌曲名稱、歌手姓名和進度條

3.調(diào)整不同控件的位置洪规、大小印屁,使得整個軟件界面看起來大方美觀

二、項目的具體步驟

1.基本代碼:在MainActivity中淹冰,首先初始化一些必要的值库车,比如音樂播放狀態(tài)和歌曲名稱列表。然后在onCReceiverate函數(shù)中樱拴,獲取頁面中各種控件柠衍,添加監(jiān)聽器。最后在onClick函數(shù)中晶乔,對于不同按鈕的點擊實現(xiàn)不同操作珍坊。

在MainActivity中,也是先初始化一些必要的值正罢。然后在prepareAndPlay函數(shù)中實現(xiàn)播放音樂的代碼阵漏。

這些基本代碼在以前的課中都學習過,沒有難度。

2.這里的難點在于在這兩個類Activity和Service中分別實現(xiàn)兩個廣播履怯。我們需要明確的是MainActivity只負責與頁面有關的功能回还,比如頁面顯示,監(jiān)測頁面點擊等叹洲。MusicService只負責與音樂播放有關的功能柠硕,比如音樂的暫停和切換等。這兩部分功能在兩個函數(shù)中运提,但是它們又需要互通消息蝗柔,因此這里我們采用廣播機制實現(xiàn)消息的發(fā)送和接受。

第一個需求是MusicService在切換歌曲的時候民泵,需要向MainActivity發(fā)送消息癣丧,告訴MainActivity需要修改頁面的文本框信息了。具體步驟是在MusicService中的onCreate函數(shù)中栈妆,編寫歌曲播放代碼胁编,并實現(xiàn)一首音樂播放完畢就向MainActivity發(fā)送一個intent。MainActivity需要接收廣播鳞尔,那么就在MainActivity中定義一個ActivityReceiver子類掏呼,用來獲取MusicService正在播放的歌曲信息。具體步驟還有定義過濾器铅檩,注冊Receiver,啟動intent服務莽鸿。

第二個需求是MainActivity監(jiān)測到的用戶對頁面按鈕的點擊請求昧旨,自己不能實現(xiàn),需要發(fā)送給MusicService讓其實現(xiàn)祥得。第二個廣播在Activity中的onClick函數(shù)中定義intent兔沃,對接受到的不同的按鈕控制信息向MusicService發(fā)送控制信息。然后在MusicService中定義Receiver级及。

這里需要注意的是乒疏,要接收廣播,在Activity中用ActivityReceiver類饮焦,在Service用BroadcastReceiver類怕吴。

三、效果展示


四县踢、代碼實現(xiàn)

代碼倉庫地址:https://gitee.com/lookevin/music-player

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末转绷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子硼啤,更是在濱河造成了極大的恐慌议经,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異煞肾,居然都是意外死亡咧织,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門籍救,熙熙樓的掌柜王于貴愁眉苦臉地迎上來习绢,“玉大人,你說我怎么就攤上這事钧忽√号冢” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵耸黑,是天一觀的道長桃煎。 經(jīng)常有香客問我,道長大刊,這世上最難降的妖魔是什么为迈? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮缺菌,結(jié)果婚禮上葫辐,老公的妹妹穿的比我還像新娘。我一直安慰自己伴郁,他們只是感情好耿战,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焊傅,像睡著了一般剂陡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狐胎,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天鸭栖,我揣著相機與錄音,去河邊找鬼握巢。 笑死晕鹊,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的暴浦。 我是一名探鬼主播溅话,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼歌焦!你這毒婦竟也來了公荧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤同规,失蹤者是張志新(化名)和其女友劉穎循狰,沒想到半個月后窟社,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡绪钥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年灿里,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片程腹。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡匣吊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寸潦,到底是詐尸還是另有隱情色鸳,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布见转,位于F島的核電站命雀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏斩箫。R本人自食惡果不足惜吏砂,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乘客。 院中可真熱鬧狐血,春花似錦、人聲如沸易核。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽牡直。三九已至报亩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間井氢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工岳链, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留花竞,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓掸哑,卻偏偏與公主長得像约急,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子苗分,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容