Exemple #1
0
  public void playRadio(RadioStream stream) {
    setMusicType(MusicType.RADIO);

    Track track = new Track();
    track.audio = stream.stream;
    track.name = stream.playingnow.track_name;
    track.album_id = stream.playingnow.album_id;
    track.artist_id = stream.playingnow.artist_id;
    track.id = stream.playingnow.track_id;
    track.album_image = stream.playingnow.track_image;

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

      if (currentMediaPlayer != null) {
        currentMediaPlayer.setNext(null);
        currentMediaPlayer.start();
      }
    }
  }
Exemple #2
0
  public void togglePause() {
    synchronized (mediaPlayers) {
      if (currentMediaPlayer != null) {
        if (currentMediaPlayer.isPaused()) currentMediaPlayer.start();
        else currentMediaPlayer.pause();

        runOnListener(
            (MusicPlayerListener l) ->
                l.onTrackPauseToggle(currentMediaPlayer.getTrack(), currentMediaPlayer.isPaused()));
      }
    }
  }
Exemple #3
0
  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);
        }
      }
    }
  }