【发布时间】:2015-05-17 20:10:00
【问题描述】:
在我的 fxml 文件中,我有:
<AnchorPane prefHeight="500.0" prefWidth="500.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.40">
<children>
<Button layoutX="14.0" layoutY="461.0" mnemonicParsing="false" text="Dummy Button" />
<MediaView id="videoView" fitHeight="400.0" fitWidth="450.0" layoutX="14.0" layoutY="14.0" />
</children>
</AnchorPane>
这是我的代码:
File f = new File("video.mp4");
Media media = new Media(f.toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = (MediaView) videoLayout.lookup("#videoView");
mediaView.setMediaPlayer(mediaPlayer);
虚拟按钮出现,因此布局正确加载。没有异常或错误,但仍然没有任何反应。我没有看到任何视频帧,没有播放任何内容。我在 Windows 7 上运行该代码。我做错了什么?
编辑:
代码没问题。只是不是我所有的测试内容都得到支持。如下所示,最好检查播放器状态:
mediaPlayer.setOnError(()->System.out.println("media error"
+ mediaPlayer.getError().toString()));
到目前为止,我遇到了 3 个问题:
- 打印错误“ERROR_MEDIA_CORRUPTED: ERROR_MEDIA_CORRUPTED”
- 没有打印错误,但只播放了音频
- 抛出异常“MediaException:MEDIA_UNSUPPORTED:无法识别的文件签名!”
【问题讨论】:
标签: java javafx media-player