2016-09-01 3 views
1

У меня есть arraylist песен uri из spotify с помощью android sdk. Но воспроизводится только одна песня, которую я хочу определить, когда одна песня завершена, чтобы я мог инициировать другую песню ниже, это код, который я использую.Как сделать очередь для spotify sdk android

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) { 

    } 
}); 

Любая помощь будет принята с благодарностью.

ответ

3

Ну, я решил проблему самостоятельно, потратив некоторое время на нее. Ниже приведено решение, если кому-то это понадобится.

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)