JavaFX- MediaView不显示视频

时间:2016-04-14 13:03:22

标签: java javafx-8

我在场景中有一个MediaView,我正在尝试播放所选视频。视频正在播放,我可以听到声音,但它不可见。

这是我的代码:

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);
        }

    }

});

2 个答案:

答案 0 :(得分:1)

排序: 而不是:

videoPlayer = new MediaView(mp);

你应该这样做:

videoPlayer.setMediaPlayer(mp);

答案 1 :(得分:0)

当MP4文件使用代码MPEG-4时,我遇到的问题是正在播放音频,但是没有视频在播放。在将编解码器更改为H.264之后,视频可以正确播放。