一個網絡應用程序,可在Spotify上顯示您當前播放的歌曲。允許您跳過歌曲,播放/暫停和喜歡/不同。分析專輯插圖以選擇背景和前景顏色以匹配圖像。每兩秒鐘進行一次調查,以刷新顯示器,以顯示您當前播放的歌曲。使用動態佈局縮放顯示為顯示的大小。
我通過設置一個基本網站來啟動我的項目,以顯示使用Spotipy(開源Spotify Python API)的Spotify數據的RAW JSON。後來,我寫了一些JavaScript,每兩秒鐘對Spotify API進行調查以檢查更改。如果歌曲發生了變化,則頁面將帶有新信息。
我使用稱為ColorThief的JavaScript庫來計算調色板,該庫抓住了背景的主要顏色,並從調色板中捕獲了與文本的對比鮮明的顏色。文本顏色不僅是黑色或白色,而是採樣幾種替代顏色以形成整個調色板,並從該調色板中找到與所選背景顏色對比的顏色。
我將Google材料符號用於播放控製圖標。這允許輕鬆擴展到不同的屏幕尺寸,而無需單獨的圖像。
在屏幕上安排元素並進行不同顯示是一個挑戰。我希望它看起來至少在帶有景觀屏幕的PC到手機之類的東西上都可以忍受。它不是完美的,但相當堅固。此外,發現文本應該在什麼時候是白色而不是黑色。我必須確保不管當時哪首歌曲播放,歌曲的細節都可以讀取。
您可以通過許多不同的方式託管此WebApp。我個人使用fly.io。您還需要設置Spotify開發人員應用程序,以獲取Spotify客戶端ID和客戶端秘密。
如果您沒有一個帳戶,請創建一個Spotify開發人員帳戶,並創建一個新應用。您需要注意客戶ID和客戶端秘密。使用以下3個選項之一託管WebApp:
然後返回Spotify開發人員儀表板,然後輸入重定向的URI。確保刪除任何落後的斜線。它應該是實用的!
在app.py的頂部發表大量評論,有有關設置環境變量並在本地託管的額外信息。
最初,這是哈佛CS50課程的項目。從那以後,我一直在添加自己的功能。您可以在單獨的分支中看到原始的CS50版本。從那時起,我已經大大提高了顏色檢測算法。現在,還有一個指定的“ Raspi”分支,其中包含額外的代碼行,可以在音樂不播放時打電話給本地網絡服務器,以關閉Raspberry Pi的屏幕。
我仍然打算更新此信息,以通過顏色檢測和屏幕縮放來修復錯誤,以及更多的按鈕和獎勵功能,等等。