2017-04-03 115 views
0

我正在做一個simpel遊戲,我想有一個視頻背景。我首先使用gif做了這個,但是這樣做速度很慢。現在我使用mediaplayer創建了一個視頻背景,並且效果非常好。 視頻顯示沒有問題。JavaFX MediaPlayer循環

我唯一的問題是視頻不想循環。我嘗試了每一個我在互聯網上找到的aproache,但似乎沒有任何工作。 視頻始終播放1次然後停止播放。 我正在使用java JDK8。 Windows 10,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); 

所有這一切都是一個stackpane內。

我曾嘗試將mp4導出到flv,但這不起作用。

如果有人知道不同的方式來創建視頻背景,一切都是受歡迎的。

編輯: 到目前爲止沒有運氣,我想使用的:

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

但不會連這個工程..

+0

您是否在設置循環次數後嘗試播放媒體,而不是之前? – VGR

回答

-1

MediaPlayer API:

媒體開始播放在startTime並繼續到stopTime。這兩個端點定義的時間間隔稱爲一個週期,其持續時間是停止時間和開始時間的差值。該週期可以被設置爲重複特定的或無限次的次數。

所以你需要在騎行之前設置startTimestopTime。例如(對於5秒鐘的視頻):

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

循環有效!唯一奇怪的是:對於5秒的視頻來說,它的工作原理非常完美,但是當我的視頻長度爲10秒,並將持續時間設置爲10時,它會再次凍結。 – jdlChicory

+0

仍然不起作用...玩家稍後停下來 –