JavaFX - 播放循环视频

时间:2013-10-25 18:55:01

标签: loops video javafx

我应该如何在JavaFX中循环播放视频? 我试图只是一次又一次地播放视频,所以我在很多地方寻找一些示例代码而且我无法使它工作!

这对我不起作用:

public MyMediaPlayer (){
    media = new Media(getVideo());
    mediaPlayer = new MediaPlayer(media);
    mediaView = new MediaView(mediaPlayer);
    startMediaPlayer();
}

private String getVideo() {
    return getClass().getResource("videos/limbo.mp4").toString();
}

public final void startMediaPlayer() {
    mediaPlayer.setMute(true);
    mediaPlayer.setCycleCount(javafx.scene.media.MediaPlayer.INDEFINITE); //this is the line that should do the magic, but it doesn't...
    mediaPlayer.play();
}

1 个答案:

答案 0 :(得分:1)

以下适用于我(视频循环永远)。我无法复制你的问题。

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.media.*;
import javafx.stage.Stage;

public class VideoPlayerExample extends Application {
  public static void main(String[] args) throws Exception { launch(args); }
  @Override public void start(final Stage stage) throws Exception {
    final MediaPlayer oracleVid = new MediaPlayer(
      new Media("http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv")
    );
    stage.setScene(new Scene(new Group(new MediaView(oracleVid)), 540, 208));
    stage.show();

    oracleVid.setMute(true);
    oracleVid.setRate(20);

    oracleVid.setCycleCount(MediaPlayer.INDEFINITE);

    oracleVid.play();
  }
}
  

我在Java 7下,不在那里工作。 。 。问题似乎是MP4格式。

如果您无法播放MP4文件,请执行以下操作:

  1. MP4不是以JavaFX理解的格式编码的(JavaFX 2.2 Media javadoc详细说明了允许的格式)。

    或者

  2. 您的计算机上没有安装适当的编解码器以允许解码MP4文件。有关您需要在计算机上安装什么才能显示MP4文件的信息,请参阅JavaFX 2.2 Media system requirements