我曾尝试在我的fxml中创建一个MediaView,但它似乎不起作用,只会引发错误。我正在播放的视频是在本地播放的。
<MediaView>
<MediaPlayer>
<Media source="vid/video.avi"/>
</MediaPlayer>
</MediaView>
答案 0 :(得分:1)
使用您的FXML代码,我收到此警告:
类javafx.scene.media.MediaView没有默认属性。将javafx.scene.media.MediaView内容放在适当的元素中。
类javafx.scene.media.MediaPlayer没有默认属性。将javafx.scene.media.MediaPlayer内容放在适当的元素中。
如果在NetBeans上编辑FXML文件,当您开始添加<MediaView>
时,请单击Ctrl +空格,然后从所有属性中选择mediaPlayer
。然后再次按Ctrl +空格键,然后选择MediaPlayer
。现在添加media
,最后添加Media
。
这应该是这样的:
<AnchorPane prefHeight="480.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<MediaView >
<mediaPlayer>
<MediaPlayer autoPlay="true">
<media>
<Media source="http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv" />
</media>
</MediaPlayer>
</mediaPlayer>
</MediaView>
</children>
</AnchorPane>
请注意,mediaPlayer
是MediaView
的属性:
private ObjectProperty<MediaPlayer> mediaPlayer;
虽然media
是MediaPlayer
的命名参数:
public MediaPlayer(@NamedArg("media") Media media)