コード例 #1
0
ファイル: MusicPlayer.java プロジェクト: Lusito/JamendoX3
  public void playTrack(Track track, Track nextTrack) {
    setMusicType(MusicType.TRACK);

    synchronized (mediaPlayers) {
      if (currentMediaPlayer == null) {
        currentMediaPlayer = setupPlayer(track);
      } else if (currentMediaPlayer.getTrack() != track) {
        for (TrackMediaPlayer player : mediaPlayers) player.stop();
        currentMediaPlayer = setupPlayer(track);
      }

      if (currentMediaPlayer != null) {
        currentMediaPlayer.start();
        runOnListener((MusicPlayerListener l) -> l.onTrackStart(track));
        if (nextTrack != null) {
          TrackMediaPlayer nextPlayer = currentMediaPlayer.getNext();
          if (nextPlayer == null || nextPlayer.getTrack() != nextTrack)
            currentMediaPlayer.setNext(setupPlayer(nextTrack));
        } else {
          currentMediaPlayer.setNext(null);
        }
      }
    }
  }
コード例 #2
0
ファイル: MusicPlayer.java プロジェクト: Lusito/JamendoX3
 @Override
 public void onCompletion(MediaPlayer _mp) {
   TrackMediaPlayer mp = (TrackMediaPlayer) _mp;
   currentMediaPlayer = mp.getNext();
   runOnListener((MusicPlayerListener l) -> l.onTrackComplete(mp.getTrack()));
 }