如何使用 Android 的 Spotify App Remote SDK 在 Spotify 上播放专辑中的曲目以便随后播放专辑的下一首曲目?

How play a track from a album on Spotify so that the next track of the album will play afterwards using Spotify App Remote SDK for Android?

示例:我有一张 Spotify 专辑,我想播放它的第 15 首曲目。曲目 15 播放完毕后,我希望 Spotify 播放曲目 16,然后是曲目 17,依此类推。

我正在为 Android 使用 Spotify App Remote SDK。我可以想到三种可能的解决方案。

解决方案

  1. 通过 Spotify Web API 获取专辑的以下曲目并将它们添加到队列中。 这个对我不起作用虽然因为我不希望 Spotify 在用户开始播放另一个播放列表或专辑时保留队列。

  2. 使用后台服务,在当前曲目播放完毕后自动开始播放下一首曲目。但是用户会在曲目之间体验到明显的延迟.

  3. 开始相册并跳过多次。这个选项理论上可行。不过好像不是很优雅。

有没有更好的方法来实现这个?例如,以某种方式向轨道添加上下文? 感谢您的帮助!

有一个很好的示例代码Start/Resume a User's Playback如何实现它。

{
  "context_uri": "spotify:album:5ht7ItJgpBH7W6vJ5BqpPr",
  "offset": {
    "position": 5
  },
  "position_ms": 0
}

context_uri 设置为您的专辑 ID,将 offset 设置为您的曲目编号,将 position_ms 设置为您的位置(以毫秒为单位)。

使用方法:

mSpotifyAppRemote.getPlayerApi().skipToIndex(java.lang.String uri, int index)

你必须将 uri 与上下文放在一起,例如专辑:

"spotify:专辑:5ht7ItJgpBH7W6vJ5BqpPr"

并且在参数索引中,您需要将曲目在专辑中的位置。

您可以在 SpotifyAppRemote 的 javadoc 中找到更多方法: https://spotify.github.io/android-sdk/app-remote-lib/docs/