JavaFX 簡単 NetBeans6.5 で My Application を作成 その9

2 3 月, 2009 (04:05) | OpenSource, Java

前回は、図形の描画と TimeLine を使った、簡単なアプリケーションの作成について、投稿いたしました。今回は、 JavaFX の目玉でもある、 javafx.scene.media.MediaPlayer を使った、音楽ファイルを再生するアプリケーションの作成について、執筆して行きたいと思います。

既に javafx.com のサイトにある、サンプルをご覧になった方は、どんなことができるのか、ご存知とは思いますが、 NetBeans 上で、どうやって作成して行ったのかを、私の備忘録的に書き進めてまいります。

まずは、以下のスクリーンショットの様に、 JavaFX ソースファイルを開き、エディターへ、右側のパレットから Media Player をドラッグアンドドロップします。

[写真]

展開されたコードは以下のとおり :
MediaPlayer {
  media: Media {
    source: ""
  }
}
上記 コード中、 MediaPlayer にネストされた、 Media のエレメント "source" のところに、再生対象となるファイルパスを記述します。因に、ファイルパスの記述方法と、取り扱えるファイル形式について、 API Docimentation で確認したところ、ファイルパスについては、 jar ファイル外のファイルへアクセスする場合は、 "file:///media.fxm" 又は、 "http://media.fxm" 、 jar ファイル内のファイルへアクセスする場合は、 "{__DIR__}media.fxm" と指定すれば良いようですね。そして取り扱えるファイル形式については、「 Currently, only audio in MP3, AU, and WAV containers are supported from within jar files. 」と書かれていました。

今回私は、汎用的に使用されている、 mp3 形式の音楽ファイルを取り扱うこととしました。さしあたっては手持ちの CD で、目の前に "The Cranberries" があったので、この中かから、 iTunes を利用して、 "Dreams" を mp3 形式でライブラリへ読み込み、読み込んだファイルを、 fx ソースファイルが配置されているディレクトリへコピーして使うことにしました。 source エレメントへ、該当ファイルを指定したコードは以下のとおり :
MediaPlayer {
  media: Media {
    source: "{__DIR__}Dreams.mp3"
  }
}
ただ、このままだと、何もできないアプリケーションになってしまうので、 MediaPlayer を変数化します。そして変数化された、 MediaPlayer のインスタンスから、 "play()" を呼び出して、アプリケーションの起動と共に、音楽が再生されるようにコードに実装します。実装後のコードについては、以下のとおり :
var musicPlayer: MediaPlayer = MediaPlayer {
  media: Media {
    source: "{__DIR__}Dreams.mp3"
  }
}

musicPlayer.play();
コードをご覧になっていて、気付いた方も多いのではないかと思いますが、 ImageView の時と、かなり類似してますね。外部ファイルなどへアクセスするコンポーネントのコードフォーマットに、統一感を感じるので、何かひとつ覚えてしまえば、その応用で、簡単にコードの記述方法を習得できる印象を受けます (*`д´)b goo♪

これで実装は完了しました。早速動かしてみます。実行結果は、以下の動画のとおりです。



※まことに申し訳ないのですが、今回は、音楽コンテンツを含む内容の為、アプリケーションを公開することはできないので、デジカメで再録音した内容とさせていただきました。

如何でしたでしょうか? とても簡単に作成できてしまいますね! 次回は、この機能と TimeLine 、それと ImageView を使って、簡単な SlideShow を作ってみたいと思います。

Comments

Pingback from jacksparrow » JavaFX 簡単 NetBeans6.5 で My Application を作成 その10
Date: 2009 年 3 月 4 日, 7:14 AM

[...] 前回は、音楽を再生する簡単なアプリケーションの作成方法について、投稿いたしました。さて今回で、この JavaFX 関連トピックも、10投稿目を数えることとなったので、そろそろ今 [...]


Write a comment





*
画像に書かれた文字を入力してください

スパム対策用画像
ログインすると画像認証なしで投稿できます

ホットワード JavaFX 簡単 作成 前回