Ответ 1
Среда:
- Win 10 Prof
- Java 8U144 (но также тестировалась с 8U177)
Я использовал mp4 с этого сайта в качестве образца для моего теста: techslides.com
Мой код (примечание: я использую пользовательский фреймворк FX, поэтому я показываю вам только метод создания моего контроллера, который настраивает проигрыватель):
@Override
protected BorderPane createView() {
final BorderPane view = new BorderPane();
final Media media = new Media(getClass().getResource("small.mp4").toString());
final MediaPlayer player = new MediaPlayer(media);
player.setCycleCount(MediaPlayer.INDEFINITE);
player.setRate(1.25);
player.setMute(true);
player.setOnEndOfMedia(() -> {
player.play();
});
player.play();
final MediaView mediaView = new MediaView(player);
view.setCenter(mediaView);
return view;
}
Я использую обратный вызов и запускаю воспроизведение вручную. Это работает как бесконечный цикл, хотя это и более "сложный" способ сделать это. Кроме того, это сработало и для меня и должно рассматриваться как более "правильный" способ:
@Override
protected BorderPane createView() {
final BorderPane view = new BorderPane();
final Media media = new Media(getClass().getResource("small.mp4").toString());
final MediaPlayer player = new MediaPlayer(media);
player.setAutoPlay(true);
player.setCycleCount(MediaPlayer.INDEFINITE); // or Integer.MAX_VALUE
player.setRate(1.25);
player.setMute(true);
final MediaView mediaView = new MediaView(player);
view.setCenter(mediaView);
return view;
}
Дополнительное примечание:
- Я протестировал оба кода как с видео Oracle, которое вы связали, так и с
small.mp4
приведенным на странице techslide. - Если это поможет вам, я могу опубликовать полный код без фреймворка, который вы можете разместить в своем видео, чтобы посмотреть, будет ли он работать.