我有一个使用Android SDK从Spotify播放的歌曲uri的数组列表。但是我只想播放一首歌曲,以检测一首歌曲何时完成,以便在下面启动另一首歌曲时使用的代码。
Config playerConfig = new Config(this,sharedPreferences.getString(KEY,""),CLIENT_ID);
Spotify.getPlayer(playerConfig, this, new SpotifyPlayer.InitializationObserver() {
@Override
public void onInitialized(SpotifyPlayer spotifyPlayer) {
mPlayer = spotifyPlayer;
// Toast.makeText(MainActivity.this,mPlayer.getMetadata().toString(),Toast.LENGTH_LONG).show();
// System.out.println(response.getAccessToken());
mPlayer.addNotificationCallback(PlaySong.this);
mPlayer.play(track.get(curr).getUriFull(), 0, 0);
mPlayer.queue(track.get(1).getUriFull());
// mPlayer.addPlayerNotificationCallback(MainActivity.this);
}
@Override
public void onError(Throwable throwable) {
}
});
任何帮助,将不胜感激。
最佳答案
好吧,我花了一段时间后自己解决了这个问题。如果有人需要,下面是解决方案。
mPlayer.addNotificationCallback(new Player.NotificationCallback() {
@Override
public void onPlaybackEvent(PlayerEvent playerEvent) {
if(playerEvent==PlayerEvent.kSpPlaybackNotifyTrackDelivered){
Toast.makeText(PlaySong.this,"Delivered",Toast.LENGTH_LONG).show();
System.out.println("Delivered");
}
@Override
public void onPlaybackError(Error error) {
}
});
只要简单地检查这种情况
if(playerEvent==PlayerEvent.kSpPlaybackNotifyTrackDelivered)