iT邦幫忙

鐵人檔案

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

Android 音樂播放器自己來 系列

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

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

播放介面實作(6) - Widget 頁面(顯示資訊)

今天來實作 Widget 顯示資訊的部分,因為 Widget 元件要透過 BroadcastReceiver 來接收事件,因此要透過 intent 發送。下面的...

2020-09-21 ‧ 由 fantasy1022 分享
DAY 22

播放介面實作(7) - Widget 頁面(控制)

昨天實作了顯示功能,今天來實作切換上下一首和播放暫停的功能,在 metaChanged 時,再額外對個別的 UI 元件設定 PendingIntent,prev...

2020-09-22 ‧ 由 fantasy1022 分享
DAY 23

播放介面實作(8) - Shortcut 基礎

除了 Widget 在桌面上可以直接控制 App 外,還可以透過 Shortcut 的功能,長按 App icon 後,就會跳出一個選單,Message 的 A...

2020-09-23 ‧ 由 fantasy1022 分享
DAY 24

播放介面實作(9) - ShortCut 頁面(功能)

昨天介紹了 Shortcut 的用法,今天就來串接 Shortcut 的功能,加入一個 Play song 的選項,點擊後開啟頁面並開始播歌。 設定相關字串,並...

2020-09-24 ‧ 由 fantasy1022 分享
DAY 25

播放模式功能(1) - 介紹

今天就來看一下 TransportControl 有什麼其他功能吧,在之前的播放天數只用到了最基本的播放、暫停、上下一首、透過 Id 來播放歌曲。在找尋文件時發...

2020-09-25 ‧ 由 fantasy1022 分享
DAY 26

播放模式功能(2) - 實作

今天就來實作 setRepeatMode 和 setShuffleMode 吧,看 API 時還蠻直覺的,就塞個數字進去就好了 XD,但在 UI 操作時,使用者...

2020-09-26 ‧ 由 fantasy1022 分享
DAY 27

播放器測試(1)

今天來介紹測試的部分,這個測試比較特別一些,不是一般的 API 或是 UI 的測試,需要 Mock 或Stub 之類的,比較偏向黑箱的測試,目的是來測試播放器的...

2020-09-27 ‧ 由 fantasy1022 分享
DAY 28

播放器測試(2)

繼續來看看有什麼功能可以測試,先來看 AudioFocus 的測試,模擬其它 App 發出 AudioFocus 時,受測的 App 有什麼反應。AudioFo...

2020-09-28 ‧ 由 fantasy1022 分享
DAY 29

總結

剩下兩天就要結束了(撒花),從開始到現在介紹了很多元件(MediaSession、MediaController、MediaBrowser、MediaBrows...

2020-09-29 ‧ 由 fantasy1022 分享
DAY 30

結語

到最後一天啦,覺得開心也覺得有點失望,開心的是終於完成啦,失望的是覺得有些想介紹的功能,因為實作時間來不及或是篇幅的關係,沒辦法放進去,但之後我會在 Mediu...

2020-09-30 ‧ 由 fantasy1022 分享