Skip to content
Snippets Groups Projects
Commit 88dcf09c authored by Tran Peter's avatar Tran Peter
Browse files

add(controller): put creation of mediaPlayer into seperate class

parent 9b66ba2b
No related branches found
No related tags found
4 merge requests!74V1,!73Initial commit,!71Merge DataBase into Development,!4Merge UI into Development
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;
}
}
...@@ -7,7 +7,6 @@ import javafx.scene.Cursor; ...@@ -7,7 +7,6 @@ import javafx.scene.Cursor;
import javafx.scene.Parent; import javafx.scene.Parent;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.layout.BorderPane; import javafx.scene.layout.BorderPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView; import javafx.scene.media.MediaView;
import javafx.stage.Stage; import javafx.stage.Stage;
...@@ -25,7 +24,7 @@ public class IntroController implements Initializable { ...@@ -25,7 +24,7 @@ public class IntroController implements Initializable {
@FXML @FXML
public BorderPane introParent; public BorderPane introParent;
private final String fileName = "src/main/resources/textures/videos/"; 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 final String[] videos = {"sony.mp4", "gamecube.mp4", "gameboy.mp4", "monke.mp4"};
private File file = new File(fileName + videos[0]); private File file = new File(fileName + videos[0]);
private int counter = 0; private int counter = 0;
...@@ -39,16 +38,10 @@ public class IntroController implements Initializable { ...@@ -39,16 +38,10 @@ public class IntroController implements Initializable {
} }
private void createMediaPlayer() { private void createMediaPlayer() {
Media media = new Media(file.toURI().toString()); // initializing this.mediaPlayer
mediaPlayer = new MediaPlayer(media); mediaPlayer = new CreateMediaPlayer().getMediaPlayer(mediaView, file, introParent);
mediaView.setMediaPlayer(mediaPlayer); 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(() -> { mediaPlayer.setOnEndOfMedia(() -> {
if (counter == videos.length - 1) { if (counter == videos.length - 1) {
videoEnd(); videoEnd();
...@@ -67,7 +60,7 @@ public class IntroController implements Initializable { ...@@ -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() { private void videoEnd() {
try { try {
mediaPlayer.dispose(); mediaPlayer.dispose();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment