Java Media Frameworkとは? わかりやすく解説

Java Media Framework

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/22 19:05 UTC 版)

ナビゲーションに移動 検索に移動
Java Media Framework
開発元 サン・マイクロシステムズ
最新版
プラットフォーム クロスプラットフォーム
種別 マルチメディア用ライブラリ
ライセンス ソフトウェア利用許諾契約
公式サイト http://java.sun.com/products/java-media/jmf/
テンプレートを表示

Java Media FrameworkJMF)は、音声や動画など時系列で変化するメディアをJavaアプリケーションやアプレットに追加するためのJavaライブラリである。このオプションパッケージには、各種メディアフォーマットをキャプチャし、再生し、ストリーミングし、変換する機能がある。Java Platform, Standard Edition (Java SE) を拡張するもので、クロスプラットフォームのマルチメディアアプリケーションの開発を可能にする。

バージョンとライセンス

最初の再生のみ可能なバージョンは、サン・マイクロシステムズシリコングラフィックスインテルが開発し、1997年に JMF 1.0 としてリリースされた。1999年にはサンとIBMが開発した JMF 2.0 が登場し、キャプチャ、ストリーミング、入れ替え可能なコーデック、フォーマット変換などの機能が追加された[1]

JMF 2.0 には当初 MP3 のコーデックが付属していたが、2002年に削除され、2004年に再生のみのMP3プラグインが登場した。

JMF のバイナリは特殊なライセンスで提供されており、ソースは SCSL (Sun Community Source License) で提供されている。

現在のバージョンには4つのJARファイルがあり、以下の4つのJMFベースのアプリケーションを起動するシェルスクリプトが付属している。

  • JMStudio - 単純なプレイヤーGUI
  • JMFRegistry - JMF「レジストリ」を管理するためのGUI。
  • JMFCustomizer - 特定のJMFアプリケーションが必要とするクラスだけを含むJARファイルを作成する(アプリケーションを配布する際のサイズを減らすため)。
  • JMFInit

JMF にはあらゆるJavaで動作するバージョンと、プラットフォーム固有の「パフォーマンスパック」がある。後者はそのプラットフォームのネイティブコードを含み、プラットフォーム固有のマルチメディアエンジンを利用する場合がある。JMF 2.0 では、Linux、Solaris(SPARC)、Windows 向けのパフォーマンスパックがある[1]

設計コンセプト

JMF ではメディアを DataSource (JMFへのメディア読み込みに対応)と DataSink (データのエクスポートに対応)に抽象化している。メディアフォーマットの詳細にプログラマがアクセスできるような作りにはなっていない。単にソース(URLで表す)から読み込んで、再生して、処理して、エクスポートするだけである(コーデックによっては、フォーマット変換をサポートしていない)。

アプリケーションは Manager クラスのスタティックメソッドを主に使用する。

コード例

以下のコード例は、AWTのファイル選択ダイアログであり、メディアファイルを選択するとそれをロードして再生する。

import javax.media.*;
import java.io.File;
import java.awt.*;

public class TrivialJMFPlayer extends Frame {

    public static void main (String[] args) {
        try {
            Frame f = new TrivialJMFPlayer();
            f.pack();
            f.setVisible (true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public TrivialJMFPlayer() 
        throws java.io.IOException,
               java.net.MalformedURLException,
               javax.media.MediaException {
        FileDialog fd = new FileDialog
            (this, "TrivialJMFPlayer", FileDialog.LOAD);
        fd.setVisible(true);
        File f = new File (fd.getDirectory(), fd.getFile());
        Player p = Manager.createRealizedPlayer
            (f.toURI().toURL());
        Component c = p.getVisualComponent();
        add (c);
        p.start();
    }
}

この例の大部分は AWT GUI の構築を行っており、JMF を使っているのは2行だけである。 Manager.createRealizedPlayer() はファイルを表すURLから明示的に DataSource を作成し、Player を作成し、再生に必要なリソース割り当てと初期化を行う。getVisualComponent()Player に対して AWT Component として使うのに適したGUIを要求する。コントロールコンポーネントが必要なら、getControlPanelComponent() で要求し、別途GUIに追加すればよい。ここではメディアのフォーマットを全く気にしていない点に注意されたい。このコードはJMFが認識できる任意のメディアフォーマットを扱える。

批判と代替手法

JMF はサポートしているコーデックが少ないと言われている。例えばJavaバージョンでは、MPEG-2MPEG-4RealMedia、ほとんどのQuickTimeムービー、Flash 2 以降のFlashコンテンツを再生できないし、MP3の再生にはプラグインが必要である[2]。一方、パフォーマンスパックではプラットフォームのメディアライブラリを利用できるが、Linux と Solaris と Windows でしか提供されていない。さらに Windows 用パフォーマンスパックを使っていると、実力以上に各種フォーマットをサポートしていると思い込むことがあり、他のプラットフォームではそうではないことをアプリケーション開発後に知ることになる。

また、サンはJMFを放置しているように見える。APIが最後に修正されたのは1999年で、公式サイトの最新ニュースの日付は2004年11月である。JMFは拡張可能なように構築されているが、サードパーティによる拡張はほとんどない。さらに、JMFにはメディアの編集機能がほとんどないため、利用範囲も限られる。

代替手法

JMF以外にも Java 上のマルチメディア機能をサポートしたライブラリが存在する。以下に主なものを列挙する。

脚注

外部リンク


「Java Media Framework」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Java Media Framework」の関連用語

Java Media Frameworkのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Java Media Frameworkのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのJava Media Framework (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS