播放视频在我FXML文件我有:无法使用JavaFX的MediaPlayer
<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:无法识别的文件签名!”
没有打印错误。当我这样做:mediaPlayer.setOnReady(() - > System.out.println(“media ready”));我看到媒体已经准备就绪。嵌入到FXML中也不起作用。 – user1723095
我对其他一些视频进行了实验,发现其中一个内容播放声音很好(并且没有从mediaPlayer返回错误)。其他根本不起作用(并且打印不支持的媒体)。第三也不起作用,虽然抛出异常,所以没有打印错误。最后第四场比赛表现不错,所以我认为我的代码没问题。无论如何感谢您的回答,它帮助我找到了问题。 – user1723095