FXML中的JavaFX MediaView

时间:2015-05-10 13:15:53

标签: java javafx javafx-2 javafx-8 fxml

我曾尝试在我的fxml中创建一个MediaView,但它似乎不起作用,只会引发错误。我正在播放的视频是在本地播放的。

<MediaView>
   <MediaPlayer>
      <Media source="vid/video.avi"/>
   </MediaPlayer>
</MediaView>

1 个答案:

答案 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>

请注意,mediaPlayerMediaView的属性:

private ObjectProperty<MediaPlayer> mediaPlayer;

虽然mediaMediaPlayer的命名参数:

public MediaPlayer(@NamedArg("media") Media media)