code: private void initInternalListener(Context context) {
          mInternalListener = new PlaybackListener() {
              @Override
              protected void onPlay(SoundCloudTrack track) {
                  super.onPlay(track);
                  mState = STATE_PLAYING;
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onPlayerPlay(track, mPlayerPlaylist.getCurrentTrackIndex());
                  }
              }
  
              @Override
              protected void onPause() {
                  super.onPause();
                  mState = STATE_PAUSED;
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onPlayerPause();
                  }
              }
  
              @Override
              protected void onPlayerDestroyed() {
                  super.onPlayerDestroyed();
                  mState = STATE_STOPPED;
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onPlayerDestroyed();
                  }
                  if (mDestroyDelayed) {
                      CheerleaderPlayer.this.destroy();
                  }
              }
  
              @Override
              protected void onSeekTo(int milli) {
                  super.onSeekTo(milli);
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onPlayerSeekTo(milli);
                  }
              }
  
              @Override
              protected void onBufferingStarted() {
                  super.onBufferingStarted();
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onBufferingStarted();
                  }
              }
  
              @Override
              protected void onBufferingEnded() {
                  super.onBufferingEnded();
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onBufferingEnded();
                  }
              }
  
              @Override
              protected void onProgressChanged(int milli) {
                  super.onProgressChanged(milli);
                  for (CheerleaderPlayerListener listener : mCheerleaderPlayerListeners) {
                      listener.onProgressChanged(milli);
                  }
              }
          };
          PlaybackService.registerListener(context, mInternalListener);
      }
docs: Initialize the internal listener.
  
  @param context context used to register the internal listener.