iT邦幫忙

鐵人檔案

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

Android 音樂播放器自己來 系列

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

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

播放器架構實作 (4) - ExoPlayer 設定實作

昨天設定好了 MediaSession,今天來加入 Player 了,會參考 uamp 專案內所使用的方式,就直接使用 ExoPlayer,使用 Kotin l...

2020-09-11 ‧ 由 fantasy1022 分享
DAY 12

播放器架構實作 (5) - ExoPlayer 播歌實作

在 onPrepareFromMediaId 的參數中,會拿到 mediaId,就可以使用這個 id 去存歌曲的 Repository,找到對應的歌曲資訊: o...

2020-09-12 ‧ 由 fantasy1022 分享
DAY 13

播放器架構實作 (6) - Notification 實作

點擊歌曲播放後,在 status bar 上就會顯示 notification,上面有歌曲的相關資訊,並且可以控制。除了這些功能外,還有一個功能是讓 App 就...

2020-09-13 ‧ 由 fantasy1022 分享
DAY 14

播放器架構實作 (7) - MusicBrowser & MediaController 實作(播音樂啦!)

再來複習一下這張圖 XD,右半邊已經完成了,接下來就換實作左半邊的部分,就先建立 MediaBrowser,這個元件的功能為連結 MediaBrowserSe...

2020-09-14 ‧ 由 fantasy1022 分享
DAY 15

播放介面實作(1) - NowPlaying 頁面

完成播歌功能的部分,再來整幾天會和 UI 比較相關,來實作播放的介面,播歌介面除了之前有實作的 Notification,這個比較偏向是系統的元件,把必要的資訊...

2020-09-15 ‧ 由 fantasy1022 分享
DAY 16

播放介面實作(2) - NowPlaying 小條 UI (資訊顯示)

今天來更新呈現的 NowPlaying 上的小條 UI,呈現播放資訊和進度,先介紹呈現播放資訊,裡面的實作還是參考 uamp。在 NowPlayingViewM...

2020-09-16 ‧ 由 fantasy1022 分享
DAY 17

播放介面實作(3) - NowPlaying 小條 UI (Play/Pause)

在 NowPlaying 小條 UI 上,要顯示 Play / Pause,就可以控制歌曲的播放和暫停,在前面的天數有提到,還會使用向量圖,在這邊就要再來使用啦...

2020-09-17 ‧ 由 fantasy1022 分享
DAY 18

播放介面實作(4) - NowPlaying 滿版 UI (資訊顯示)

昨天介紹了完小條的 UI,將整個 NowPlaying 向上拉起後,還有一整個大頁面可以完整顯示播放器的頁面,今天就來實作這個功能(滿版 UI),顯示的內容包含...

2020-09-18 ‧ 由 fantasy1022 分享
DAY 19

播放介面實作(5) - NowPlaying 蓋板UI (抽色)

如果仔細看播歌時的 Notification,可能會注意到不同專輯的歌曲,不同專輯圖都有不同的底色,然後搭配不同字的顏色,這邊在 ExoPlayer 的套件裡設...

2020-09-19 ‧ 由 fantasy1022 分享
DAY 20

播放介面實作(6) - Widget 基礎

在前幾天的章節加入了 NowPlaying 頁面,來顯示歌曲資訊和提供控制播放的行為。今天要來加入另一個元件 - Widget,Widget 是自定義在桌面上的...

2020-09-20 ‧ 由 fantasy1022 分享