Spotify API 播放器更新事件

Nil*_*z11 5 spotify

基本上我想在网站上显示当前曲目。

我已经搜索了相当多的内容来寻找当玩家状态(播放/暂停、曲目、当前位置)发生变化时收到通知的可能性。

我的问题:是否有可能收到通知(套接字、挂钩调用),或者是我必须每秒调用 Web API 并获取状态的唯一可能性?

我担心当多个用户连接他们的帐户并显示当前曲目时,我会遇到速率限制。

小智 1

不,仍然没有办法做到这一点。为了实现您想要的目标,您需要不断地汇集 Spotify API。

但是,您可以使用 Spotify SDK,您可以传递一个在播放状态更改时执行的函数。该 SDK 与某些平台不兼容(请参阅支持的浏览器),但对于那些平台,您可以捕获 SDK 初始化错误,然后通过 API 切换到连续轮询。那么你的请求就会少很多。

第二种选择是仅在最后一首歌曲结束后更新当前播放的歌曲。当获取当前播放歌曲的播放状态时,您可以使用字段duration_ms和progress_ms来计算歌曲的剩余时间。然后安排另一个 API 请求,确定歌曲何时应该结束并且一切正常。这是否适合您的用例取决于播放类型以及应用程序中播放更改的频率。

我希望我能帮忙!