源碼已上傳github,詳見 這裏。
樣式效果如下:
放置音樂文件
app -> New -> Folder -> Assets Folder
原理
MainActivity 發送廣播,把在 main.xml 上4個按鈕的對應的 control 發送出去, MusicService 接收到 MainActivity 發送的廣播,執行相應動作。
MusicService 發送廣播,將當前放第幾首歌(current,默認0)發送出去,MainActivity 接收到MusicService發送的廣播,從而在main.xml 的2個TextView處顯示當前歌曲的 title 和 author。
MainActivity 和 MusicService 都即是發送方,也是接收方。
status是作爲廣播中在MainActivity和MusicService之間傳遞音樂播放狀態的Intent的一個值。
Service 使應用程序能在後臺運行。虛擬機在返回MusicBox2程序後仍可播放音樂。
代碼功能解釋
部分代碼及其解釋見此 ppt 。