Spotify 播放完整曲目的解决方法?

Posted

技术标签:

【中文标题】Spotify 播放完整曲目的解决方法?【英文标题】:Spotify play full tracks workaround? 【发布时间】:2017-04-28 18:53:36 【问题描述】:

我正在尝试构建一个播放 Spotify 歌曲以及其他功能的应用程序。我很清楚 Spotify API 不提供对桌面上完整曲目的网络​​访问。但是,我仍然想探索其他解决方法或选项。我的网络应用程序是基于 Python 和 javascript 构建的,因此任何解决方案都必须使用这些。但是,如果您知道其他语言的任何解决方案,也请随时发布。以下是我想在放弃之前尝试的事情:

    是否有任何非官方 API 提供对全长曲目的访问?例如,我找到了这个人https://pyspotify.mopidy.com/en/latest/。那一个或任何其他的是否可行?我知道随着 Spotify 的更新,其中一些很快就会被弃用,但最好现在有一些东西可以玩,而不是什么都没有。

    隐藏的 Spotify 播放按钮:有没有办法让我将播放按钮嵌入到每个曲目的名称旁边作为隐藏元素,然后当我单击自己的播放按钮时,会触发一个事件“点击“ Spotify 播放按钮?我可能会在存储 Spotify 按钮的 div 上触发单击事件,或者让浏览器检测其坐标并单击它。如果这似乎是一个可行的选择,那么该代码看起来会如何?

    直接在 Spotify 上播放曲目:单击曲目并让它在用户的桌面客户端或网络播放器上播放肯定没问题。我一直在使用一个名为 Unision 的应用程序来做到这一点。当您尝试播放 Spotify 歌曲时,它会打开我的桌面 Spotify 并开始自动播放歌曲。如果他们做到了,那么一定有办法。该解决方案如何?

任何反馈将不胜感激。

感谢您阅读我的帖子。

【问题讨论】:

请发布您尝试过的代码。 我处于初步阶段,所以我没有太多代码。我还没有真正深入研究这些选项,因为我什至不知道它们是否可行。 我不知道前两个,但第三个是通过 Spotify URI 处理的。例如:spotify:artist:0Ya43ZKWHTKkAbkoJJkwIB 行得通!我想出了第三个选项的解决方案。如果您在 autoplay 选项设置为 true 的情况下调用 track URI,则它会自动开始播放。下面是一个例子:spotify:track:3rTIcUMMP2Ez33DfjJlb9e:autoplay:true 不过,我仍然没有回答这个问题,所以如果有人对第一个或第二个选项有答案,也可以进行探索。 【参考方案1】:

来自 Spotify 的 Arielle 在这里。在这个问题的时候,没有办法在网络上播放完整的曲目。对于那些在未来看到这个的人,您现在可以使用 Web Playback SDK!

https://beta.developer.spotify.com/documentation/web-playback-sdk/

Web Playback SDK 是客户端 JavaScript 库,可让您在 Spotify Connect 中创建新播放器,并通过加密媒体扩展在浏览器中播放来自 Spotify 的任何音轨。这与我们用来增强网络播放器体验的技术相同。

您可以使用 Web Playback SDK 做一些事情:

在 Spotify Connect 中创建新播放器 在支持的浏览器中流式传输音轨 获取当前曲目的元数据 获取有关用户收听会话的元数据 控制本地播放(暂停、恢复、音量等)

黑客愉快!

【讨论】:

【参考方案2】:

我通过使用第三个选项并使用参数 autoplay:true 调用轨道 URI 解决了这个问题。因此,要从我的代码中调用特定歌曲,我只需参考以下 URL:

spotify:track:3rTIcUMMP2Ez33DfjJlb9e:autoplay:true

这使歌曲开始在 Spotify 客户端上自动播放。

如果有人对如何处理想法 1 和 2 有任何建议,这些仍然是值得研究的选项。

【讨论】:

以上是关于Spotify 播放完整曲目的解决方法?的主要内容,如果未能解决你的问题,请参考以下文章

获取Spotify当前播放的曲目

Applescript 播放曲目 Spotify

spotify ios sdk contentAPI fetchChildrenOfContentItem

获取 Spotify 用户当前播放的曲目名称 [Web API]

使用 Spotify Web API 播放曲目

如何将曲目添加到 Spotify 中的“已加星标”播放列表?