我正在开发使用Spotify API
的应用程序。它必须开始特定的轨道。我可以做到的。
但是在曲目结束后,播放会停止。我希望Spotify然后播放专辑的以下曲目。有办法吗?
答案 0 :(得分:0)
我还没弄乱玩家的状态(只是抓住了封面uri),但是这就是我要解决的方法。
我将首先订阅播放器状态,以查看播放器发生了什么。如果暂停,那么我将播放您正在谈论或想要谈论的专辑。这是一个小示例,可能会有所帮助。
SpotifyAppRemote mSpotifyAppRemote; // The app remote
/* For mAppRemoteSet the connection parameters */
connectionParams = new ConnectionParams.Builder(CLIENT_ID)
.setRedirectUri(REDIRECT_URI)
.showAuthView(true)
.build();
/* Connect to SpotifyAppRemote */
SpotifyAppRemote.connect(this, connectionParams, new Connector.ConnectionListener() {
@Override
public void onConnected(SpotifyAppRemote spotifyAppRemote) {
mSpotifyAppRemote = spotifyAppRemote;
Log.d(TAG, "App remote Connected!");
connected();
@Override
public void onFailure(Throwable throwable) {
Log.e(TAG, throwable.getMessage(), throwable);
// Hanfle errors here
}
});
}
public connected() {
/* Subscribe to the PlayerState */
mSpotifyAppRemote.getPlayerApi()
.subscribeToPlayerState()
.setEventCallback(playerState -> {
if (playerState.isPaused) {
mSpotifyAppRemote.getPlayerApi().play("ALBUM URI");
}
});
}
其中“ CLIENT_ID”和“ REDIRECT_URI”特定于您已经在信息中心中从代码中定义的内容。
“ ALBUM URI”是您要播放提到的第一首歌曲后要播放的专辑的ID。
您还可以播放特定的曲目,然后将专辑的偏移量设置为开头,如果特定曲目位于专辑的中间,结尾等位置,则重新开始整个专辑。
我仍在学习sdk及其提供的许多选项,因此如果这完全无关或无用,我会提前道歉。