Как переключать видео в одном окне JavaFX?
Как на самом деле переключить видео в окне видео javafx? Я могу только закрыть и запустить новое окно с другим видео, но оно просто закрывается и создает новое окно. Как я могу изменить видео, оставаясь при этом в текущем? Ниже мой код:
package com.amazon.alexa.avs.wakeword;
import java.io.File;
import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import com.amazon.alexa.avs.wakeword.VideoPlayerLogic;
public class AlexaWindow extends Application {
VideoPlayerLogic videologic = new VideoPlayerLogic();
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
String workingDir = System.getProperty("user.dir");
File f = new File(workingDir, videologic.getPath());
Media m = new Media(f.toURI().toString());
MediaPlayer mp = new MediaPlayer(m);
MediaView mv = new MediaView(mp);
final DoubleProperty width = mv.fitWidthProperty();
final DoubleProperty height = mv.fitHeightProperty();
width.bind(Bindings.selectDouble(mv.sceneProperty(), "width"));
height.bind(Bindings.selectDouble(mv.sceneProperty(), "height"));
mv.setPreserveRatio(true);
StackPane root = new StackPane();
root.getChildren().add(mv);
Scene scene = new Scene(root, 960, 540);
scene.setFill(Color.BLACK);
primaryStage.setScene(scene);
primaryStage.setTitle("Alexa Window");
primaryStage.setFullScreen(true);
primaryStage.show();
mp.play();
}
}
Итак, как вы можете видеть, я пытаюсь соединить объекты VideoPlayerLogic и AlexaWindow вместе, а VideoPlayerLogic сообщает адрес файла для следующего видео, которое необходимо воспроизвести.