首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaFX MediaPlayer循环

JavaFX MediaPlayer循环
EN

Stack Overflow用户
提问于 2017-04-04 01:15:49
回答 2查看 6.4K关注 0票数 3

我正在开发一款simpel游戏,我想有一个视频背景。我首先使用的是gif,但是运行起来有点慢。现在我使用mediaplayer创建了一个视频背景,它工作得很好。视频放映没有问题。

我唯一的问题是视频不想循环。我尝试了我在互联网上找到的所有方法,但似乎都不起作用。视频始终播放1次,然后停止。我使用的是java JDK8。Windows 10,64位。

这是我的代码:

代码语言:javascript
复制
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,但这不起作用。

如果有人知道创建视频背景的不同方法,一切都是欢迎的。

编辑:到目前为止还不走运,我正在考虑使用:

代码语言:javascript
复制
player.setOnEndOfMedia(new Runnable() {
            @Override
            public void run() {
                player.seek(Duration.ZERO);
            }
        }); 

但即使这样也行不通..

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-04 04:12:00

MediaPlayer应用编程接口中:

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

因此,您需要在循环工作之前设置startTimestopTime。例如(对于5秒的视频):

代码语言:javascript
复制
player.setStartTime(Duration.seconds(0));
player.setStopTime(Duration.seconds(5));
票数 -2
EN

Stack Overflow用户

发布于 2018-10-23 03:47:30

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

代码语言:javascript
复制
player.setOnEndOfMedia(new Runnable() {
        @Override
        public void run() {
            player.seek(Duration.ZERO);
            player.play();
        }
    }); 

这对我很管用

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43190594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档