iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Mobile Development

Android 音樂播放器自己來 系列

透過這 30 天的挑戰,從 0 到 1 建立 Android 音樂播放器,會從觀念、架構開始介紹,一路到使用者介面(播放器頁面、Notification、Widget),最後到測試,並搭配實作呈現,帶大家體會和理解播放器的奧秘!

鐵人鍊成 | 共 30 篇文章 | 27 人訂閱 訂閱系列文 RSS系列文
DAY 1

播放器架構介紹

大家對於音樂播放器會想到什麼呢,平常聽線上串流像是 Spotify, KKBOX, Youtube music, Tidal,或是播放自己手機內的音樂都會使用到...

2020-09-01 ‧ 由 fantasy1022 分享
DAY 2

播放器實作概觀

經過上一篇的介紹,相信大家對音樂播放器的整體架構都有基本的了解了,再來就是到了實作的部分了,要實作出一個有完整體驗的 App,具體需要實作些什麼項目呢?可以分成...

2020-09-02 ‧ 由 fantasy1022 分享
DAY 3

歌曲列表實作 (1) - ContentProvider 觀念介紹

寫播放器前,要先有個前置條件,就是要先有音樂 ,不然寫完沒有東西播XDD。前一天有介紹分為兩種方式來獲取分別是: 透過 API 取得:舉例來說有 Spoti...

2020-09-03 ‧ 由 fantasy1022 分享
DAY 4

歌曲列表實作 (2) - 取得權限

前幾天提到 Google UAMP 播放器專案,音樂列表的來源是從 Google 示範的 API 來的,因此在獲取音樂列表會參考 Google 的另外一個專案...

2020-09-04 ‧ 由 fantasy1022 分享
DAY 5

歌曲列表實作 (3) - 撈取音檔

有權限後,就可以取得音樂檔案啦,透過 ContentProvider 觀念介紹 介紹的觀念,取得音檔。 首先先來寫 query 的 function: over...

2020-09-05 ‧ 由 fantasy1022 分享
DAY 6

歌曲列表實作 (4) - 顯示音檔

拿到歌曲資訊後,就可以在畫面顯示啦,要顯示一系列的資訊,最常用的元件就是 RecyclerView 了,還會搭配 Adapter 和 ViewHolder,參考...

2020-09-06 ‧ 由 fantasy1022 分享
DAY 7

歌曲列表實作 (5) - 番外篇

前一天已經可以顯示音檔了,那番外篇要來講什麼呢?顯示音檔後,可能會有兩個情況,發手機裡面現都沒有音檔 XD,或是有音檔但是沒有專輯圖。 先來講音檔的部分好了,&...

2020-09-07 ‧ 由 fantasy1022 分享
DAY 8

播放器架構實作 (1) - MediaBrowseService 實作

今天就開始實作音樂播放器整體架構了,還記得在第一天最後介紹到的架構圖嗎,這篇會從MediaBrowserService 開始實作,先從比較底層元件開始實作,播...

2020-09-08 ‧ 由 fantasy1022 分享
DAY 9

播放器架構實作 (2) - MediaSession 觀念介紹

前一天實作了 MediaBrowserService,裡面還有 MediaSession 需要加入,接著來看一下怎麼設定 MediaSession 吧。Medi...

2020-09-09 ‧ 由 fantasy1022 分享
DAY 10

播放器架構實作 (3) - MediaSession 實作

MediaSession 設定,設定了 PendingIntent,在之後介紹的 Notification 設定會使用到,指定點擊 Notification 要...

2020-09-10 ‧ 由 fantasy1022 分享