Android 音樂播放器自己來 — Day 22播放介面實作 (8) — Widget 頁面 (控制)

fantasy1022
毅想世界
Published in
Feb 14, 2021

昨天實作了顯示功能,今天來實作切換上下一首和播放暫停的功能,在 metaChanged 時,再額外對個別的 UI 元件設定 PendingIntent,previous 按鈕設定 PendingIntent,裡面的 action 就帶入 SKIP_PREVIOUS 的事件,play 和 next 就分別帶入對應的事件。在點擊 cover 時,則是會打開 App 。

可以看到這邊要送事件的目標是 MusicService,在 MusicService 就還需要再額外設定收事件,做對應的操作。

cover 點擊這邊比較單純,就是開起首頁 MainActivity。

在 MusicService 內多加入 onStartCommand,收到 intent 後判斷對應的 action,播放、上一首、下一首。

在 MusicService 內有 mediaSession,透過 mediaSession 可以拿到 transportControls(播放器架構實作 (3) — MediaSession 實作),可以知道現在的播放狀態,並且可以去執行下一首、上一首。

成果圖:

程式碼在這,分支名稱(day22_widget_action_function):

--

--