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 会在按下按键时让你选择一个。
- 在特定设备上开始播放,或将播放转移到另一台设备,并保持播放或暂停状态。
- 将当前曲目添加到 Liked Songs 或从中移除,并将其添加到播放列表或从中移除。
- 在 音乐播放器 组件中显示正在播放的内容,包括封面、进度以及播放和切换按钮。
- 在按键标签中使用
spotify_current_track_name等变量,并将滑块绑定到spotify_volume或spotify_current_position。
一些示例设置:
- 一个 Toggle Play/Pause 按键,显示音乐正在播放还是已暂停。
- 一个使用 切换歌曲喜欢状态 的爱心按键,显示当前歌曲是否在 Liked Songs 中。
- 一个使用 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
- 播放搜索到的或从 Liked Songs 中选择的曲目,或在动作运行时让你选择一首。
- Play Playlist
- 播放你的某个播放列表或搜索到的播放列表,或在动作运行时让你选择一个。
- Play on Device
- 在特定的 Spotify 设备上开始播放,或在动作运行时让你选择一台设备。
- Transfer Playback
- 将播放转移到另一台设备,并保持播放或暂停状态。
- 切换歌曲喜欢状态
- 将当前曲目或单集添加到 Liked Songs 或从中移除,并显示其是否已喜欢。
- 在播放列表中添加或移除
- 将当前曲目或单集添加到播放列表或从中移除,并显示其是否在该播放列表中。
触发器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- 当前曲目是否在 Liked Songs 中。
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 的增益、静音、路由和宏按钮。