Spotify
隨附於 Macro Deck控制 Spotify 播放、喜歡歌曲、管理播放清單,並在面板上顯示正在播放的內容。
兩個正在播放曲目的音樂播放器小工具,一個為「完整封面」樣式,一個為「小封面」樣式,標題列都有 Spotify 的名稱和標誌
- 播放、暫停、跳過、跳轉、隨機播放、重複播放和音量
- 播放曲目或播放清單,或在按下按鈕時選擇
- 喜歡歌曲,並將目前曲目加入播放清單
- 將播放移到另一台 Spotify 裝置
- 音樂播放器小工具,以及曲目、演出者和進度變數
Spotify 整合會透過 Spotify Web API 將 Macro Deck 連線到 Spotify 帳戶。無論該帳戶的 Spotify 在哪裡播放,它都能控制播放:桌面應用程式、手機、喇叭或任何其他 Spotify Connect 裝置。Spotify 不必在執行 Macro Deck 的電腦上執行。
連線時,需要在 Spotify Developer Dashboard 中建立一個自己的小型應用程式,並在 Macro Deck 中輸入其 用戶端 ID 和 用戶端密鑰。接著 Macro Deck 會開啟 Spotify 登入頁面,只需允許存取一次。透過 Web API 控制播放需要 Spotify Premium;這是 Spotify 的規定,而不是 Macro Deck 的規定。
可以做什麼
- 播放、暫停、跳過、跳轉、開啟或關閉隨機播放、設定重複模式,以及變更音量。
- 開始播放特定曲目或播放清單。將選擇留空,Macro Deck 就會在按下按鈕時要求選擇。
- 在特定裝置上開始播放,或將播放移到另一台裝置,並保持播放或暫停。
- 將目前曲目加入或移出喜歡的歌曲,以及加入或移出播放清單。
- 在 音樂播放器 小工具中顯示正在播放的內容,包括封面、進度,以及播放和跳過按鈕。
- 在按鈕標籤中使用
spotify_current_track_name等變數,並將滑桿繫結到spotify_volume或spotify_current_position。
設定範例:
- Toggle Play/Pause 按鈕,會顯示音樂正在播放還是已暫停。
- 使用 切換喜歡的歌曲 的愛心按鈕,顯示目前歌曲是否在喜歡的歌曲中。
- 一個按鈕使用 Transfer Playback 將播放從電腦移到客廳的喇叭。
- 繫結到
spotify_volume的滑桿,會跟隨音量,並在拖曳時變更音量。
運作方式
播放音樂時,Macro Deck 大約每 3 秒向 Spotify 查詢一次播放狀態;暫停時每 5 秒一次;沒有播放時每 10 秒一次。在 Spotify 應用程式中所做的變更會在這段時間內顯示。存取權杖會在背景中更新,因此只有在 Spotify 撤銷存取權時才需要重新登入。當 Spotify 限制請求數量或沒有回應時,Macro Deck 會暫停、保留最後已知的狀態,並在 整合 下的 Spotify 頁面上顯示問題,直到可以繼續為止。可以連線一個 Spotify 帳戶。
需要準備
- Spotify Premium 帳戶。Spotify 只允許 Premium 帳戶透過其 Web API 控制播放。
- 在 Spotify Developer Dashboard 中自行建立的應用程式,用於取得用戶端 ID 和用戶端密鑰。
- 執行 Macro Deck 的電腦上需有網頁瀏覽器,用於 Spotify 登入。
- 至少在一台裝置上開啟 Spotify,才有可控制的對象。
開始設定
步驟 1: 在 Spotify Developer Dashboard 中建立應用程式
在 developer.spotify.com/dashboard 開啟 Spotify Developer Dashboard,登入並建立新的應用程式。任何名稱和說明都可以。
步驟 2: 在 Macro Deck 中開始設定
在 Macro Deck 的側邊欄中按一下 整合,然後按一下 Spotify。在 概覽 分頁的 設定 區段中按一下 設定。開啟右上角的開關也會開啟相同的對話方塊,設定完成後此整合就會啟用。連線到 Spotify 對話方塊會顯示 重新導向 URI 和複製按鈕。
步驟 3: 將重新導向 URI 加入 Spotify 應用程式
在 Spotify 應用程式的設定中,完全依照顯示的內容加入 Macro Deck 顯示的 重新導向 URI,然後儲存。
步驟 4: 輸入用戶端 ID 和用戶端密鑰
從 Spotify 應用程式複製 Client ID 和 Client Secret,並貼到 Macro Deck 中的 用戶端 ID 和 用戶端密鑰 欄位。然後按一下 繼續。
步驟 5: 在瀏覽器中允許存取
Macro Deck 會在瀏覽器中開啟 Spotify 登入頁面,對話方塊則會顯示 等待授權中…。使用 Premium 帳戶登入並允許存取,然後回到 Macro Deck。設定會自動繼續,並以 Spotify 帳戶為設定命名,例如 Spotify (Alex)。對話方塊顯示 設定完成。 時,按一下 完成。
步驟 6: 在按鈕上加入動作
在 面板 頁面上按一下要使用的按鈕。面板必須處於解鎖狀態:右上角的按鈕顯示 鎖定 時,即表示已解鎖。編輯器開啟時會選取 短按。按一下 + 新增動作,在 新增動作 對話方塊左側選擇 Spotify,然後選擇一個動作,例如 Toggle Play/Pause。接著按一下 儲存。
步驟 7: 按下按鈕
在任何裝置上的 Spotify 中開始播放內容,然後在面板上按下按鈕。播放會暫停或繼續。
動作18
可放在按鈕上,或從流程中執行。
- Play
- 繼續播放。
- Pause
- 暫停播放。
- Toggle Play/Pause
- 在播放和暫停之間切換,並在按鈕上顯示播放狀態。
- Next Track
- 跳到下一首。
- Previous Track
- 跳到上一首。
- Refresh State
- 立即向 Spotify 查詢目前的播放狀態。
- Set Volume
- 設定正在播放的裝置的音量,從 0 到 100%。
- Volume Up
- 將音量提高 10%。
- Volume Down
- 將音量降低 10%。
- Seek
- 跳到目前曲目中的某個位置,以秒為單位。
- Toggle Shuffle
- 開啟、關閉或切換隨機播放,並顯示是否已開啟。
- Set Repeat Mode
- 將重複設為 Off、Repeat Track 或 Repeat Album/Playlist。
- Play Track
- 播放搜尋到的曲目或從喜歡的歌曲中選擇的曲目,或在動作執行時要求選擇一首。
- Play Playlist
- 播放其中一個播放清單或搜尋到的播放清單,或在動作執行時要求選擇一個。
- Play on Device
- 在特定的 Spotify 裝置上開始播放,或在動作執行時要求選擇一台。
- Transfer Playback
- 將播放移到另一台裝置,並保持播放或暫停。
- 切換喜歡的歌曲
- 將目前曲目或單集加入或移出喜歡的歌曲,並顯示是否已喜歡。
- 在播放清單中新增或移除
- 將目前曲目或單集加入或移出播放清單,並顯示是否在該播放清單中。
觸發器8
按鈕或流程可以對這些事件做出反應。
- 曲目已變更
- 開始播放另一首曲目,附其標題、演出者和專輯(位於 音樂播放器 下)。
- 播放已開始
- 播放已開始或繼續(位於 音樂播放器 下)。
- 播放已暫停
- 播放已暫停(位於 音樂播放器 下)。
- 播放已停止
- 播放已停止(位於 音樂播放器 下)。
- 播放裝置已變更
- 播放已移到另一台裝置(位於 音樂播放器 下)。
- 音量已變更
- 音量已變更,附新值和先前的值(位於 音樂播放器 下)。
- 播放器已連線
- Spotify 已可連線(位於 音樂播放器 下)。
- 播放器已中斷連線
- Spotify 已無法連線(位於 音樂播放器 下)。
變數19
在按鈕和小工具上顯示這些值,或在條件中使用。
spotify_current_track_name- 正在播放的曲目標題。
spotify_current_artist- 目前曲目的演出者,以逗號分隔。
spotify_current_album- 目前曲目的專輯。
spotify_playback_state- 播放狀態:
playing、paused或stopped。 spotify_is_playing- 目前是否正在播放音樂。
spotify_volume- 以百分比表示的音量。也可以設定此值,例如使用滑桿。
spotify_track_duration- 以秒為單位的目前曲目長度。
spotify_current_position- 曲目已播放的秒數。也可以設定此值來跳轉。
spotify_progress_percentage- 曲目已播放的百分比。
spotify_album_art_url- 目前封面在 Macro Deck 中的位址。
spotify_device_name- 正在播放的裝置名稱。
spotify_device_type- 正在播放的裝置類型,例如電腦或喇叭。
spotify_shuffle_enabled- 隨機播放是否已開啟。
spotify_repeat_mode- 重複模式:
off、track或context。 spotify_is_connected- Macro Deck 是否能連到 Spotify 且有可用的工作階段。
spotify_current_track_url- 目前曲目的 Spotify 連結。
spotify_current_track_is_liked- 目前曲目是否在喜歡的歌曲中。
spotify_top_track,spotify_top_artist- 最常播放的曲目和演出者。
spotify_top_tracks,spotify_top_artists- 以清單表示的最常播放曲目和演出者。
小工具1
從小工具選擇器將這些小工具加入面板。
- 音樂播放器
- 顯示 Spotify 正在播放的曲目、演出者和封面,以及進度和播放、暫停和跳過按鈕。
常見問題
為什麼需要 Spotify Premium?
Spotify 只允許 Premium 帳戶透過其 Web API 控制播放。使用免費帳戶時,Spotify 會拒絕指令,而 Macro Deck 會在 整合 下的 Spotify 頁面上顯示問題 需要 Spotify Premium。這是 Spotify 的限制,而不是 Macro Deck 的限制。
為什麼必須建立自己的 Spotify 應用程式?
Macro Deck 會使用自己擁有的應用程式的用戶端 ID 和用戶端密鑰與 Spotify 通訊。Spotify 會依應用程式計算請求數,因此面板不會與其他使用者共用限制。在 Spotify Developer Dashboard 中建立應用程式是免費的,只需一分鐘。
Spotify 必須在與 Macro Deck 相同的電腦上執行嗎?
不必。Macro Deck 會透過網際網路控制帳戶,因此能控制任何為該帳戶播放的裝置上的 Spotify,例如手機或 Spotify Connect 喇叭。使用 Play on Device 和 Transfer Playback 即可選擇裝置。
可以連線多個 Spotify 帳戶嗎?
不行。此整合只支援一個設定。選擇 重新設定 可將其換成另一個帳戶,而按鈕和小工具會繼續運作。
Macro Deck 顯示 Spotify 正在限制請求頻率,該怎麼辦?
使用應用程式憑證發出過多請求時,Spotify 會停止回應。Macro Deck 會暫停請求,並在繼續時通知。此限制會計算所有使用相同用戶端 ID 的應用程式,因此關閉使用它的其他應用程式通常會有幫助。
Spotify 憑證儲存在哪裡?
用戶端密鑰和 Spotify 核發的權杖會加密儲存在執行 Macro Deck 的電腦上,只會傳送給 Spotify。Spotify 密碼絕不會在 Macro Deck 中輸入;登入是在 Spotify 網站上進行。
更多「音樂和音訊」整合
YouTube Music Desktop App
隨附於 Macro Deck從面板控制 YouTube Music Desktop App:播放、音量、評分和正在播放的內容。
WebNowPlaying
隨附於 Macro Deck透過 WebNowPlaying 擴充功能,控制瀏覽器中播放的音樂和影片,並顯示正在播放的內容。
Jellyfin
隨附於 Macro Deck從面板控制 Jellyfin 應用程式和電視,顯示正在播放的內容,並在播放開始或停止時做出反應。
SoundPad
隨附於 Macro Deck播放 SoundPad 清單中的音效、控制錄製,並在面板上顯示正在播放的音效。
Voicemeeter
隨附於 Macro Deck從面板控制 Voicemeeter、Banana 或 Potato 的增益、靜音、路由和巨集按鈕。