Spotify API 播放器更新事件

Posted

技术标签:

【中文标题】Spotify API 播放器更新事件【英文标题】:Spotify API player update event 【发布时间】:2017-11-28 17:20:27 【问题描述】:

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

我已经搜索了相当多的可能性,以便在播放器状态(播放/暂停、曲目、当前位置)发生变化时获得通知。

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

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

【问题讨论】:

【参考方案1】:

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

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

第二种选择是仅在最后一首歌曲结束后更新当前播放的歌曲。在获取当前播放歌曲的播放状态时,可以使用duration_msprogress_ms字段来计算歌曲的剩余时间。然后为歌曲应该结束的时间安排另一个 API 请求并且你很好。对于您的用例而言,这是否是一个好的策略取决于播放的类型以及播放在您的应用中更改的频率。

希望能帮到你!

【讨论】:

以上是关于Spotify API 播放器更新事件的主要内容,如果未能解决你的问题,请参考以下文章

Spotify API:获取歌曲播放次数、总小时数等

如何从 Spotify Web API 获取播放列表的特定快照?

如何在 Spotify 中自动播放热门曲目?

Spotify WebPlayer API - 更改播放器请求

使用 spotify api 控制 spotify web player sdk 的播放状态

Spotify Web API 播放端点 - 播放曲目