Search code examples
javajavafx-8

JavaFX- MediaView not displaying the video


I have a MediaView on the scene in which I am trying to play the selected video. The video is playing, I can hear the sound, but it's not visible.

here's my code:

playLocalVideo.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        File fileToPlay = null;
        //DirectoryChooser directoryChooser = new DirectoryChooser();
        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("Select Files to Upload");
        FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("VIDEO files (*.mp4)", "*.mp4");
        fileChooser.getExtensionFilters().add(extFilter);
        fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
        try {
            fileToPlay = fileChooser.showOpenDialog(stage).getCanonicalFile();
            Media m = new Media(fileToPlay.toURI().toString());
            MediaPlayer mp = new MediaPlayer(m);
            videoPlayer = new MediaView(mp);
            videoPlayer.setPreserveRatio(true);

            mp.play();

        } catch (IOException ex) {
            Logger.getLogger(TutorControlPanelController.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

});

Solution

  • Sorted: instead of:

    videoPlayer = new MediaView(mp);
    

    You should do:

    videoPlayer.setMediaPlayer(mp);