QQ音樂電臺小程序的核心功能開啟電臺好友卡片引導頁(引導用戶用微信登錄QQ音樂或開啟冷啟動)冷啟動卡片詳情(好友相似度,好友偏好,評論)歌曲播放頁(播放暫停 ...
QQ音樂電臺小程序的核心功能
開啟電臺
好友卡片
引導頁(引導用戶用微信登錄QQ音樂或開啟冷啟動)
冷啟動
卡片詳情(好友相似度,好友偏好,評論)
歌曲播放頁(播放暫停,歌詞滾動,收藏歌曲,切換歌曲,聽歌流水上報,背景魔法色,適配)
miniplayer (切換歌曲,狀態同步)
涉及播放歌曲狀態同步,不能使用audio組件。而音頻播放API本質上是借助微信native的播放組件。
使用wx.navigateTo() 跳轉到應用內的某個頁面,會保留當前頁面。點擊左上角返回,之前頁面會觸發onShow監聽頁面顯示,不會觸發onLoad事件。播放頁和首頁miniplayer狀態同步相關邏輯處理應該在onShow事件監聽。
歌曲信息以及變更(包括歌曲列表,播放狀態,切換音頻,專輯圖,歌曲名,歌手等)存儲在小程序提供的storage下,方便不同頁面數據同步
音頻組件API目前沒有提供類似audio的onTimeUpdate事件,需要開了一個定時器做歌詞滾動,缺點是定時器做歌詞渲染有不太精準。好消息是:微信后期會支持OnTimeUpdate事件。
歌詞處理相關邏輯如下:
根據專輯圖拉取對應十六進制的魔法色。有些色值較亮,有點刺眼,這里需要對色值轉為HSL通過降低飽和度S和亮度L來使得背景色看著柔和。
將后臺返回十六進制,轉為RGB值
RGB轉為HSL
降低HSL 中S飽和度,L亮度讓背景色不刺眼