1

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();
}
4

1 に答える 1

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 を使用していますが、Java 7 では動作しません。. . 問題は MP4 形式のようです。

MP4 ファイルを再生できない場合は、次のいずれかを行います。

  1. MP4 は、JavaFX が理解できる形式でエンコードされていません ( JavaFX 2.2 Media javadocに、許可されている形式の詳細が記載されています)。

    また

  2. MP4 ファイルをデコードできる適切なコーデックがマシンにインストールされていません。MP4 ファイルを表示できるようにするためにマシンにインストールする必要があるものについては、JavaFX 2.2 メディアのシステム要件を参照してください。

于 2013-10-26T10:11:55.283 に答える