JavaFXで複数の動画を切り替えて再生するには、MediaPlayer.setOnEndOfMediaが動画の最後にいると認識できるので、複数の動画を切り替えて再生できます。
MediaPlayer.setAutoPlay(true)をしてしまうと、フォアグラウンドで再生すると他にバックグラウンドでも別の動画を再生しているのか、バックグラウンドの動画の音声も再生します。
private MediaPlayer createPlayer(String aMediaSrc) { |
final MediaPlayer player = new MediaPlayer(new Media(aMediaSrc)); |
player.setOnError(new Runnable() { |
System.out.println("Media error occurred: " + player.getError()); |
public MediaView createMediaView(List<MediaPlayer> players){ |
final MediaView mediaView = new MediaView(); |
for (int i = 0; i < players.size(); i++) { |
final MediaPlayer player = players.get(i); |
final MediaPlayer nextPlayer = players.get((i + 1) % players.size()); |
player.setOnEndOfMedia(new Runnable() { |
mediaView.getMediaPlayer().stop(); |
mediaView.setMediaPlayer(nextPlayer); |
mediaView.setMediaPlayer(players.get(0)); |
mediaView.getMediaPlayer().play(); |