我有一个使用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)

09-18 03:54