При запуске приложения непосредственно вступительное видео вступает в силу,
У меня есть 2 сценария:
- Просмотр полного вступления, а затем автоматический переход на другую страницу
- Нажмите кнопку «Пропустить», чтобы сразу же перейти на другую страницу.
оба эти 2 сценария работают без сбоев, когда я запускаю приложение из IDE,
, но при упаковке приложения вформат jar, первый сценарий никогда не работает (см. код для более подробной информации)
Класс:
public class SplashScreenController implements Initializable {
@FXML
private HBox introView;
@FXML
private Label btSkipIntro;
MediaPlayer player;
@Override
public void initialize(URL location, ResourceBundle resources) {
// INTRO VIDEO PROCESS ------------------------
player = new MediaPlayer(new Media(getClass().getResource("/Images/SeffirIntro.mp4").toExternalForm()));
MediaView mediaView = new MediaView(player);
mediaView.setPreserveRatio(true);
mediaView.setSmooth(true);
introView.getChildren().add(mediaView);
System.out.println("Started");
player.play();
player.setOnEndOfMedia(() -> {
System.out.println("Ended");
try {
// Code to automatically redirect to another page
Entry.viewNavigator.openView("/Views/LanguageView.fxml");
} catch (IOException e) {
e.printStackTrace();
}
});
@FXML // When the skip button clicked
public void skipClicked() throws IOException{
System.out.println("Skipped");
player.stop();
Entry.viewNavigator.openView("/Views/LanguageView.fxml");
}
в моем тестировании IDE (лямбда-функция player.setOnEndOfMedia выполняется красиво), но когдаjar выполняет эту функцию, к которой никогда не обращаются.
Создание JAR было протестировано как с maven, так и со сборкой артефакта; оба результата дают ту же функцию, что и после окончания видео, не запускаются
, любое объяснениео том, почему эта проблема происходит, очень поможет
спасибо заранее