JavaFX MediaPlayer 循环

JavaFX MediaPlayer loop

我正在做一个简单的游戏,我想要一个视频背景。我首先使用 gif 执行此操作,但运行速度有点慢。现在我使用媒体播放器创建了一个视频背景并且效果很好。 视频显示没有问题。

我唯一的问题是视频不想循环播放。我尝试了在互联网上找到的每一个方法,但似乎没有任何效果。 视频总是播放 1 次然后停止。 我正在使用 java JDK8。 Windows10、64 位。

这是我的代码:

Media media = new
Media(getClass().getClassLoader().getResource("img/menu.mp4").toString());

MediaPlayer player = new MediaPlayer(media);
player.setAutoPlay(true);
player.setCycleCount(MediaPlayer.INDEFINITE);
MediaView view = new MediaView(player);

所有这些都在堆栈窗格中。

我试过将 mp4 导出到 flv,但这不起作用。

如果有人知道创建视频背景的不同方法,欢迎提供。

编辑: 到目前为止没有运气,我正在考虑使用:

player.setOnEndOfMedia(new Runnable() {
            @Override
            public void run() {
                player.seek(Duration.ZERO);
            }
        }); 

但即使这样也行不通..

来自MediaPlayer API:

媒体播放从 startTime 开始,一直持续到 stopTime。由这两个端点定义的间隔称为一个循环,持续时间为停止时间和开始时间之差。此循环可以设置为重复特定或不确定的次数。

所以你需要设置startTimestopTime才能循环工作。例如(对于 5 秒的视频):

player.setStartTime(Duration.seconds(0));
player.setStopTime(Duration.seconds(5));

可能有点晚了,但你在寻求持续时间为零后忘记玩了。

player.setOnEndOfMedia(new Runnable() {
        @Override
        public void run() {
            player.seek(Duration.ZERO);
            player.play();
        }
    }); 

对我有用