ドキュメント



JavaFX: JavaFXアプリケーションへのメディア・アセットの組込み

2 Webページへのメディアの埋込み

この項では、単純なメディア・パネルを作成することにより、アニメーション化されたメディア・コンテンツをWebページに追加する方法について説明します。メディア・プレーヤを作成するには、図2-1に示されている3つのネストされたオブジェクトの構造を実装する必要があります。

図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-1import文をコピーしてEmbeddedMediaPlayer.javaファイルに貼り付け、NetBeans IDEによって自動的に生成されたすべてのimport文を置き換えます。

    例2-1 デフォルトのimport文の置換

    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に太字で示されている行を追加して、使用するメディア・ソース・ファイルとString変数を指定します。この例では、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. 例2-3に示されているように、startメソッドを変更します。これにより、グループ・ルート・ノードを含む、幅540、高さ210の空のシーンが作成されます。

    例2-3 startメソッドの変更

    @Override
        public void start(Stage primaryStage) {
            primaryStage.setTitle("Embedded Media Player");
            Group root = new Group();
            Scene scene = new Scene(root, 540, 210);
    
            primaryStage.setScene(scene);
            primaryStage.sizeToScene();
            primaryStage.show();
        }
    
  5. 次に、例2-4に示されているコードをprimaryStage.setScene(scene)行の前に追加して、MediaオブジェクトとMediaPlayerオブジェクトを定義します。autoPlay変数をtrueに設定して、ビデオを即時に開始できるようにします。

    例2-4 mediaオブジェクトとmediaPlayerオブジェクトの追加

    // create media player
    Media media = new Media(MEDIA_URL);
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setAutoPlay(true);
    
  6. 例2-5に示されているコメントと2行のコードをコピーし、mediaPlayer.setAutoPlay(true)行の直後に貼り付け、MediaViewオブジェクトを定義し、メディア・プレーヤをノードベースのビューに追加します。

    例2-5 MediaViewオブジェクトの定義

    // create mediaView and add media player to the viewer
    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アプリケーションへのメディア・アセットの組込み

展開 | 縮小