我正在尝试加载媒体文件,但我得到一个空白的白色屏幕,但我可以听到播放的文件。该文件位于我的项目中名为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并仍然相同。
任何人都知道我做错了什么?我应该在使用本地文件时做些什么吗?
答案 0 :(得分:0)
确保您的视频是原创视频,我在计算机上录制的视频遇到了同样的问题并将其转换为mp4,它播放但我无法看到,但是当我使用原始视频时,它在同一时间播放和播放。 我还发现我有扩展名wmv和avi不受支持。
我希望你能解决这个问题。