文档



JavaFX:将媒体资产整合到JavaFX应用程序中

2 将媒体嵌入到网页中

在本节中,您将学习如何通过创建一个简单的媒体面板将动画媒体内容添加到您的网页中。要创建一个媒体播放器,您需要实现在图2-1中显示的三个嵌套对象的结构。

图2-1 嵌入式媒体播放器的结构

用于在浏览器中嵌入媒体的类的图像
"图2-1 嵌入式媒体播放器的结构"的描述

开始

您可以使用任何用于创建Java应用程序的开发工具来构建JavaFX应用程序。本文档中使用的工具是NetBeans IDE。在继续构建使用JavaFX媒体功能的本文档示例应用程序之前,请执行以下步骤:

  1. 从Java SE下载页面(http://www.oracle.com/technetwork/java/javase/downloads/)下载并安装JDK 8和最新的NetBeans IDE版本。

  2. 如果需要,参阅JavaFX入门文档,了解JavaFX功能的概述并创建简单的JavaFX应用程序。

创建应用程序

  1. 从NetBeans IDE中,按照以下步骤设置你的JavaFX项目:

    1. 文件菜单中选择新建项目

    2. 在JavaFX应用程序类别中选择JavaFX应用程序。点击下一步

    3. 将项目命名为EmbeddedMediaPlayer,并确保创建应用程序类字段的值为embeddedmediaplayer.EmbeddedMediaPlayer。点击完成

  2. 示例2-1中的import语句复制并粘贴到EmbeddedMediaPlayer.java文件中,替换NetBeans IDE自动生成的所有import语句。

    示例2-1 替换默认的导入语句

    import javafx.application.Application;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaPlayer;
    import javafx.scene.media.MediaView;
    import javafx.stage.Stage;
    

    暂时忽略边缘上的警告,因为使用Media类的代码行将在接下来的几个步骤中添加。

  3. 通过在示例2-2中添加粗体字行来指定要使用的媒体文件源和字符串变量。对于此示例,使用位于download.oracle.com的动画视频,或者指定自己的文件。将这些行添加到public class EmbeddedMediaPlayer行之后。

    示例2-2 指定媒体文件源

    public class EmbeddedMediaPlayer extends Application {
    
         private static final String MEDIA_URL =
     "http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv";
    
  4. 修改start方法,使其看起来像示例2-3。这将创建一个空场景,带有一个组根节点,尺寸为540宽,210高。

    示例2-3 修改start方法

    @Override
        public void start(Stage primaryStage) {
            primaryStage.setTitle("嵌入式媒体播放器");
            Group root = new Group();
            Scene scene = new Scene(root, 540, 210);
    
            primaryStage.setScene(scene);
            primaryStage.sizeToScene();
            primaryStage.show();
        }
    
  5. 现在,在primaryStage.setScene(scene)行之前,通过添加示例2-4中的代码来定义Media和MediaPlayer对象。将autoPlay变量设置为true,以便视频可以立即开始播放。

    示例2-4 添加mediamediaPlayer对象

    // 创建媒体播放器
    Media media = new Media(MEDIA_URL);
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setAutoPlay(true);
    
  6. 定义MediaView对象,并在mediaPlayer.setAutoPlay(true)行之后复制示例2-5中的注释和两行代码,并将其粘贴到节点式查看器中。

    示例2-5 定义MediaView对象

    // 创建mediaView并将媒体播放器添加到查看器中
    MediaView mediaView = new MediaView(mediaPlayer);
    ((Group)scene.getRoot()).getChildren().add(mediaView);
    
  7. 在添加代码行后,右键单击任何空白处,然后选择格式化以修复行格式。

  8. 在项目窗格中右键单击EmbeddedMediaPlayer项目节点,然后选择清理和构建。

  9. 成功构建后,通过右键单击项目节点并选择运行来运行应用程序。

    注意:

    如果您正在使用本教程中使用的媒体文件源,并且您正在防火墙后运行应用程序,则可能需要设置应用程序的代理才能访问媒体源文件。在项目窗口中右键单击EmbeddedMediaPlayer项目节点,选择属性,在项目属性对话框中选择运行。在VM选项字段中设置类似于-Dhttp.proxyHost=yourproxyhost.com -Dhttp.proxyPort=somePort#的内容,其中yourproxyhost.com是您公司的代理服务器,somePort#是您分配使用的端口号。

关闭窗口

目录

JavaFX: 将媒体资源整合到JavaFX应用程序中

展开 | 折叠