如何让代码根据当前状态自动切换功能的开/关状态
Spotipy 实现NFC卡切换Spotify随机播放开关
直接调用Spotipy的当前播放状态查询接口拿到实时shuffle状态,取反后传入shuffle控制接口即可实现同一张卡开关切换,不需要额外本地存储状态。
可直接替换原有逻辑的代码:
if uid == 123456789: current_playback = sp.current_playback() # 无活跃设备时跳过执行,避免报错 if current_playback: sp.shuffle( state=not current_playback["shuffle_state"], device_id=DEVICE_ID )
注意事项
- 你的Spotify应用需要申请
user-read-playback-state权限,否则无法读取当前播放状态,接口会返回403错误 - 若你的使用场景存在网络波动、设备离线的情况,可以加一个本地缓存字典记录对应NFC卡上次设置的shuffle状态,接口请求失败时用本地缓存值取反兜底即可
内容的提问来源于stack exchange,提问作者Kratos
相关产品推荐
相关产品推荐

