JavaFX MediaView отображает белое видео
Я использую JavaFX и пытаюсь показать видео на своей сцене для титульного экрана моей игры, но при воспроизведении видео отображается только белый экран. Проблема довольно проста.
Вот код:
Media media = new Media(new File(FileGetter.directory("img").concat("Animated Titlescreen Background.mp4")).toURI().toString()));
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = new MediaView(mediaPlayer);
TitleScreen.pane.getChildren().add(mediaView);
FileGetter перенаправляет только в соответствующий каталог, и носитель должен работать правильно, так как я использую тот же метод для звука, и он отлично работает.
Я бы хотел, чтобы мое видео отображалось правильно и зацикливалось, так как это будет фон титульного экрана, но я не понимаю, почему он показывает только пустой экран.
Заранее спасибо за помощь !
Изменить: вот минимальный воспроизводимый пример:
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
import java.io.File;
public class Application extends javafx.application.Application {
Stage window;
@Override
public void start(Stage primaryStage) {
window = primaryStage;
window.setWidth(1920);
window.setHeight(1080);
window.setX(0);
window.setY(0);
window.setResizable(false);
window.setFullScreen(true);
window.setFullScreenExitHint("");
Pane pane = new Pane();
javafx.scene.shape.Rectangle r = new javafx.scene.shape.Rectangle(0, 0, 150, 150);
Media media = new Media(new File(/*Insert file name you own for testing purposes*/).toURI().toString());
// The path I would use : "C:\\Java\\Projects\\Star Defender\\src\\main\\resources\\img\\Animated Titlescreen Background.mp4"
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = new MediaView(mediaPlayer);
pane.getChildren().addAll(mediaView, r);
Scene scene = new Scene(pane, 1920, 1080);
window.setScene(scene);
window.show();
}
public static void main(String[] args) {
launch(args);
}
}