【问题标题】:JavaFX- MediaView not displaying the videoJavaFX-MediaView 不显示视频
【发布时间】:2016-04-14 13:03:21
【问题描述】:

我在尝试播放所选视频的场景中有一个 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);
        }

    }

});

【问题讨论】:

    标签: java javafx-8


    【解决方案1】:

    排序: 而不是:

    videoPlayer = new MediaView(mp);
    

    你应该这样做:

    videoPlayer.setMediaPlayer(mp);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 您是如何更改编解码器的?通过 API 还是视频本身?
      • 我转换了视频本身,指定编解码器 H.264
      猜你喜欢
      • 1970-01-01
      • 2012-07-03
      • 2015-07-21
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多