Я пытаюсь реализовать функцию, при которой программа воспроизводит видео в полноэкранном режиме, когда нет щелчка мышью или перемещения мыши, скажем, в течение x секунд. и останавливает видео и возвращается к предыдущей сцене при щелчке или перемещении мыши
в настоящее время у меня есть этот рабочий .. НО видео воспроизводится через 5 секунд, хотя я щелкаю и перемещаю мышь ... и я не могу найти решение о том, как закрыть видео и перейти к предыдущей сцене / fxml при щелчке мышью двигать ..
текущий код на момент написания:
для воспроизведения видео, когда мышь не используется:
PauseTransition delay = new PauseTransition(Duration.seconds(5));
delay.setOnFinished( event -> {
try {
Main.showVideo();
} catch (IOException ex) {
Logger.getLogger(UserMainPage2Controller.class.getName()).log(Level.SEVERE, null, ex);
}
} );
delay.play();
для показа видео (находится внутри моего основного класса):
public static void showVideo() throws IOException
{
File f = new File("C:\\vid\\saitama.mp4");
Media media = new Media(f.toURI().toString());
MediaView mv = new MediaView();
MediaPlayer mp = new MediaPlayer(media);
mv.setMediaPlayer(mp);
FXMLLoader loader=new FXMLLoader();
loader.setLocation(Main.class.getResource("page/videoPlayer.fxml"));
mainLayout = loader.load();
StackPane root=new StackPane();
root.getChildren().add(mv);
stage.setScene(new Scene(root,1000,1000));
stage.setTitle("Video");
stage.setFullScreen(true);
stage.show();
mp.play();
}
и я не совсем уверен, что поместить в мой класс VideoPlayercontroller:
сейчас он пуст.
public class VideoPlayerController implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
}
}
То, что я пытаюсь сделать, - это воспроизводить видео только тогда, когда мышь находится в режиме ожидания (не нажимается и не перемещается в течение x секунд) ... и закрывает видео, когда мышь перемещается или щелкает ..
как например ..
if mouseclicked then Main.showPreviousScene();