示例:我有一个Spotify专辑,我想播放其第15首曲目。曲目15播放完毕后,我希望Spotify播放曲目16,之后播放曲目17,依此类推。
我正在使用适用于Android的Spotify应用远程SDK。我可以想到三种可能的解决方案。
解决方案:
通过Spotify Web API获取专辑的以下曲目并将其添加到queque中。尽管我不希望Spotify保留该queque,但该曲目对我不起作用当用户开始播放另一个播放列表或专辑时。
使用后台服务,当当前曲目结束时,它会自动开始播放下一首曲目。但是,在这里,用户会遇到曲目之间的明显延迟。
启动相册并跳过多次。从理论上讲,此选项有效。不过,它似乎并不十分优雅。
是否有更好的方法来实现这一目标?例如,以某种方式向轨道添加上下文? 感谢您的帮助!
答案 0 :(得分:3)
有一个很好的示例代码Start/Resume a User's Playback,您可以如何实现它。
{
"context_uri": "spotify:album:5ht7ItJgpBH7W6vJ5BqpPr",
"offset": {
"position": 5
},
"position_ms": 0
}
将context_uri
设置为专辑ID,将offset
设置为曲目号,将position_ms
设置为您的位置(以毫秒为单位)。
答案 1 :(得分:0)
使用方法:
mSpotifyAppRemote.getPlayerApi().skipToIndex(java.lang.String uri, int index)
您必须将 uri 与上下文放在一起,例如专辑:
"spotify:album:5ht7ItJgpBH7W6vJ5BqpPr"
并且在参数索引中,您需要将曲目在专辑中的位置。
您可以在此处的 SpotifyAppRemote 的 javadoc 中找到更多方法: https://spotify.github.io/android-sdk/app-remote-lib/docs/