【发布时间】:2019-04-09 12:15:50
【问题描述】:
我正在使用Spotify android SDK,我正在尝试播放一首歌曲,我希望在当前歌曲完成后播放一首歌曲。问题是歌曲完成后,Spotify 会播放一首随机歌曲。是否可以播放歌曲而不自动播放其他任何内容?
我只是调用app remotes player API play函数,
mSpotifyAppRemote?.getPlayerApi()?.play(uri)
【问题讨论】:
我正在使用Spotify android SDK,我正在尝试播放一首歌曲,我希望在当前歌曲完成后播放一首歌曲。问题是歌曲完成后,Spotify 会播放一首随机歌曲。是否可以播放歌曲而不自动播放其他任何内容?
我只是调用app remotes player API play函数,
mSpotifyAppRemote?.getPlayerApi()?.play(uri)
【问题讨论】:
@Mikee 你没有做错任何事,如果你只使用免费版,Spotify 会搞乱曲目回放,如果你使用高级版,它会正常工作。如果您尝试由使用免费版本的专辑或艺术家演奏,那就很有趣了。
【讨论】:
我不是专家,但从their documentation 看来您可以观看PlayerState。我也不确定PlayerState 事件何时会触发,但如果它相对频繁地返回,您可以检查track 值并查看它是否已转到null 或其他值并使用它。
这是他们网站上的一个 Java 示例:
// Subscribe to PlayerState
mSpotifyAppRemote.getPlayerApi()
.subscribeToPlayerState()
.setEventCallback(new Subscription.EventCallback<PlayerState>() {
public void onEvent(PlayerState playerState) {
// See what values are in playerState, might be able to determine
// if it's now randomly playing?
final Track track = playerState.track;
if (track != null) {
Log.d("MainActivity", track.name + " by " + track.artist.name);
// If the track is now different, your song has finished, stop it?
}
}
});
我在上面的代码中添加了一些额外的 cmets,它们可能会产生一些结果!
【讨论】: