diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/CreateMediaPlayer.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/CreateMediaPlayer.java new file mode 100644 index 0000000000000000000000000000000000000000..03fbd835e1a457c5f9ad0fdd649d747840a240fd --- /dev/null +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/CreateMediaPlayer.java @@ -0,0 +1,23 @@ +package de.hdm_stuttgart.battlearena.Controller; + +import javafx.scene.layout.BorderPane; +import javafx.scene.media.Media; +import javafx.scene.media.MediaPlayer; +import javafx.scene.media.MediaView; + +import java.io.File; + +public class CreateMediaPlayer { + public MediaPlayer getMediaPlayer(MediaView mediaView, File file, BorderPane parent) { + Media media = new Media(file.toURI().toString()); + MediaPlayer mediaPlayer = new MediaPlayer(media); + +// resizing once the scenes has been loaded to get width and height property + mediaPlayer.setOnReady(() -> { + mediaView.fitWidthProperty().bind(parent.getScene().widthProperty()); + mediaView.fitHeightProperty().bind(parent.getScene().heightProperty()); + }); + mediaPlayer.setAutoPlay(true); + return mediaPlayer; + } +} diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java index cc1eebcb28f70769a98491794f4bdb7a144f5ce5..e8579e5598ce961c902570df8d18a767055a091d 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java @@ -7,7 +7,6 @@ import javafx.scene.Cursor; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; -import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.stage.Stage; @@ -25,7 +24,7 @@ public class IntroController implements Initializable { @FXML public BorderPane introParent; private final String fileName = "src/main/resources/textures/videos/"; -// nextVideo() will iterate through this array so the next video will be played TODO: change the videos to non memes lmao + // nextVideo() will iterate through this array so the next video will be played TODO: change the videos to non memes lmao private final String[] videos = {"sony.mp4", "gamecube.mp4", "gameboy.mp4", "monke.mp4"}; private File file = new File(fileName + videos[0]); private int counter = 0; @@ -39,16 +38,10 @@ public class IntroController implements Initializable { } private void createMediaPlayer() { - Media media = new Media(file.toURI().toString()); - mediaPlayer = new MediaPlayer(media); +// initializing this.mediaPlayer + mediaPlayer = new CreateMediaPlayer().getMediaPlayer(mediaView, file, introParent); mediaView.setMediaPlayer(mediaPlayer); -// resizing once the scenes has been loaded to get width and height property - mediaPlayer.setOnReady(() -> { - mediaView.fitWidthProperty().bind(introParent.getScene().widthProperty()); - mediaView.fitHeightProperty().bind(introParent.getScene().heightProperty()); - }); - mediaPlayer.setAutoPlay(true); mediaPlayer.setOnEndOfMedia(() -> { if (counter == videos.length - 1) { videoEnd(); @@ -67,7 +60,7 @@ public class IntroController implements Initializable { }); } -// TODO: maybe look into using SceneLoader class + // TODO: maybe look into using SceneLoader class private void videoEnd() { try { mediaPlayer.dispose();