JavaFX MediaPlayer什么都没显示?

时间:2015-02-23 20:28:00

标签: java javafx javafx-2 javafx-8

我正在尝试加载媒体文件,但我得到一个空白的白色屏幕,但我可以听到播放的文件。该文件位于我的项目中名为resources的文件夹中。

这是代码。

public class ScreenSaverController implements IControlledScreen {

    Main app;

    public void setApp(Main application) {
        app = application;
    }

    @Override
    public void onDestroy() {

    }

    @FXML
    private MediaView mediaView;

    @FXML
    protected void initialize() {
        URL url = getClass().getResource("/resources/screenSaver.mp4");

        MediaPlayer mediaPlayer = new MediaPlayer(new Media(url.toString()));

        mediaView.setMediaPlayer(mediaPlayer);

        mediaPlayer.play();
    }
}

我的FXML文件,只包含此

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.media.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>


<BorderPane prefHeight="1024.0" prefWidth="1280.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <center>
      <MediaView fx:id="mediaView" fitHeight="1024.0" fitWidth="1280.0" BorderPane.alignment="CENTER" />
   </center>
</BorderPane>

正如我所说,我可以听到该文件,但没有任何显示。我尝试过同一个文件的mp4和flv版本,两者都做同样的事情,声音却没有视频。

如果我将代码更改为此,我可以看到视频

MediaPlayer mediaPlayer = new MediaPlayer(new Media("http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv"));

我已将我的jdk升级到版本1.8.0_31并仍然相同。

任何人都知道我做错了什么?我应该在使用本地文件时做些什么吗?

1 个答案:

答案 0 :(得分:0)

确保您的视频是原创视频,我在计算机上录制的视频遇到了同样的问题并将其转换为mp4,它播放但我无法看到,但是当我使用原始视频时,它在同一时间播放和播放。 我还发现我有扩展名wmv和avi不受支持。

我希望你能解决这个问题。