Проблемы воспроизведения нескольких медиаплееров с JavaFX с помощью Scene Builder - PullRequest
0 голосов
/ 29 апреля 2019

Мой проект построен с использованием javaFx и sceneBuilder.Он имеет ListView со многими именами файлов видеоклипов.Я хочу выбрать и пункт, и он будет играть.Первый выбранный элемент воспроизводится нормально.Однако каждый метод, который я пытался воспроизвести на следующем этапе, приводит к одновременному воспроизведению всех выбранных элементов.Некоторые попытки показывают только текущее видео, однако звук других можно услышать.Я не могу понять, как закрыть старый файл и воспроизвести новый.Ниже приведен приблизительный код.

private void PlayFile(String selFile) {
    //mediaPlayer.dispose();
    //anchorPaneLeft.getChildren().clear();

    selFile = BaseDir + "\\" + selFile;
    File mediaFile = new File(selFile);

    MediaView mView;

    anchorPaneRight.setPrefWidth(200.0d);

    if (mediaFile != null) {
        String fName = mediaFile.toURI().toString();

        MediaPlayer mediaPlayer = new MediaPlayer(new Media(fName));
        player = mediaPlayer;

        //mView = new MediaView(mediaPlayer);
        mediaView.setMediaPlayer(player);

        mediaView.setPreserveRatio(true);

        mediaView.fitWidthProperty().bind(anchorPaneLeft.widthProperty());
        mediaView.fitHeightProperty().bind(AnchorPaneMV.heightProperty());

        anchorPaneLeft.getChildren().add(mediaView);
        mediaPlayer.play();

        Duration dur = mediaPlayer.getTotalDuration();



    }

}
...