是否可以通过另一个 Java 程序控制 Spotify 客户端?

Is it possible to control the Spotify client via another Java program?

我想给我的机器人一个命令,比如在 Spotify 上播放(歌曲名称)。之后,机器人应打开 Spotify 客户端并播放歌曲。机器人应该能够播放播放列表中的下一首或上一首歌曲并切换 start/stop playing 。它可能与 Amazon Echo 非常相似。 例如:https://youtu.be/WZ5Snilpj88 如果你不明白我的问题。 简短版本:我需要通过 java 程序控制 Spotify 桌面客户端。

如有任何帮助,我将不胜感激。

控制 Spotify

是的,甚至有两种与 Spotify 通信的方式。一方面是网络 API 另一边是当地的 Spotilocal API。虽然 Web API 已记录并且可以在任何地方使用,但 Spotilocal API 只能与本地 Spotify 实例一起使用并且没有记录。

两个 API 都符合您的项目的条件,因为您在同一台 PC 上启动 Spotify。

Spotify 网络 API

Spotify Web API 是一个 RESTful 服务,基址为 https://api.spotify.com。它有据可查,并且具有应用程序的大部分功能。这是与 Spotify 通信的唯一受支持的官方方式。

Spotilocal API

Spotilocal API 是本地托管的 RESTful 服务。 Spotify 桌面应用程序在后台启动一个小型 Web 服务器。端口一般不一致,可以从4370开始,一直到4380。这整个 API 实际上是用于 Spotify 网络小部件,但也可以用于本地操作。

总结

我推荐使用官方 Spotify Web API,完全不推荐 Spotilocal API。仅当无法授权时,才应使用 Spotilocal API。