Java Media Framework

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2015. augusztus 21-én felülvizsgált verziótól ; az ellenőrzések 9 szerkesztést igényelnek .
Java Media Framework
Típusú multimédiás keretrendszer és függvénytár
Szerző Sun Microsystems
Fejlesztő Sun Microsystems
Beírva Jáva
Első kiadás 1997
Hardver platform platformközi
legújabb verzió
Engedély felhasználói szerződés [1]
Weboldal oracle.com/technetwork/j…

A Java Media Framework ( eng.  Java multimedia framework ) egy olyan könyvtár, amely megkönnyíti a hanggal és videóval együttműködő programok fejlesztését.

Az MP3 kódolás és dekódolás támogatása a könyvtár második verziójába került, de később 2000-ben eltávolították a terjesztésből. 2004-ben kiadtak egy kiegészítőt az MP3 adatok lejátszásához. Az összeállított fájlok különböző licencek alatt, a kód pedig SCSL alatt érhetők el .

A jelenlegi verzió JAR - fájlokat és szkripteket tartalmaz a JMF-et használó alkalmazások futtatásához:

Alapelvek

A könyvtár médiaimport és médiaexport segítségével absztrahálja a médiakezelést . Ez a megközelítés lehetővé teszi a fejlesztők számára, hogy a JMF által támogatott összes adatformátummal egyformán dolgozzanak. DataSourceDataSink

Az osztály Managera könyvtárral való munkavégzéshez leggyakrabban használt statikus módszereket tartalmazza.

Kritika és alternatívák

A könyvtár egyik fő hátránya, hogy számos modern formátumot nem támogat. Például az összes Java platform nem tudja lejátszani az MPEG-2 , MPEG-4 , a Windows Media , a RealMedia , a legtöbb QuickTime videót , a 2-nél régebbi Flash adatokat és az MP3 lejátszáshoz kiegészítő szükséges [4] . És a legtöbb teljesítménynövekedés csak Linux , Solaris és Windows rendszerekhez érhető el .

Alternatívák

Név Leírás Állapot Engedély Weboldal
Freedom for Media in Java (FMJ) nyílt forráskódú JMF megvalósítás 2007 óta nem frissítették - [egy]
Java Sound API - 2004 áprilisában jelent meg - [2]
QuickTime a Java számára az Apple fejlesztette ki nem fejlődött - -
IBM Toolkit MPEG-4-hez - - - [3]
Jffmpeg Az FFMPEG részleges portja Java-ra a JMF-fel való használatra 2006 óta nem frissítették - [négy]
jvlc - nem fejlődött - [5]
vlcj Lehetővé teszi a VLC lejátszó beágyazását egy AWT vagy Swing alkalmazásba aktív - [6]
gstreamer-java könyvtár a gstreamer 0.10 használatához Java nyelven alig fejlődik - [7]
Cortado Ogg Vorbis és Theora Java kisalkalmazás lejátszó - - [nyolc]
Directshow <> Java Wrapper - - - [9]
Fobs4JMF - nem fejlődött - [tíz]
JLayer MP3 könyvtár - - - [11] Archiválva : 2008. szeptember 12. a Wayback Machine -nél
Xggler - nem fejlődött GPLv3 vagy LGPL [12]
Video4Linux4Java könyvtár a v4l és v4l2 eléréséhez 2013 augusztusa óta nem frissítették GPLv3 [13]

Példa

Ez a program megjeleníti az AWT fájl megnyitása párbeszédpanelt , és megpróbálja lejátszani a kiválasztott fájlt.

import javax.media.* ; import java.io.File ; import java.awt.* ; public class TrivialJMFPlayer kiterjeszti a keretet { public static void main ( String [] args ) { try { Frame f = new TrivialJMFPlayer (); f . csomag (); f . setVisible ( igaz ); } fogás ( Kivétel e ) { e . printStackTrace (); } } public TrivialJMFPlayer () java -t dob . io . IOException , java . net . Rosszul formázottURLException , javax . média . MediaException { FileDialog fd = new FileDialog ( this , "TrivialJMFPlayer" , FileDialog . LOAD ); fd . setVisible ( igaz ); Fájl f = új Fájl ( fd . getDirectory (), fd . getFile ()); Játékos p = Menedzser . createRealizedPlayer ( f . toURI (). toURL ()); c komponens = p . getVisualComponent (); add ( c ); /*ez a kód nem működik =P*/ p . start (); } }

A programszöveg nagy része az AWT-vel való együttműködésre készült, míg csak 2 sor használja a JMF-et.

  • Manager.createRealizedPlayer()implicit módon létrehoz egy fájlt DataSourcea kapott URL -ből , amellyel a Player.
  • A metódus getVisualComponent()létrehoz egy , amely később a grafikus felületComponent részeként használható . Ha lejátszási vezérlőkre van szükség, akkor ezenkívül meg kell hívnia a metódust , amely létrehoz egy objektumot, amely szintén hozzáadható a program felületéhez.getControlPanelComponent()

Ez a példa egyformán alkalmas a JMF könyvtár által támogatott összes médiatípusra.

Lásd még

  • Java OpenGL  - könyvtár az OpenGL-lel való munkához

Jegyzetek

  1. http://www.oracle.com/technetwork/java/javase/license-135825.html
  2. JMStudio felhasználói kézikönyv . Letöltve: 2015. február 15. Az eredetiből archiválva : 2015. február 15..
  3. JMFRegistry felhasználói kézikönyv . Letöltve: 2015. február 15. Az eredetiből archiválva : 2015. február 15..
  4. JMF 2.1.1 – Támogatott formátumok . Letöltve: 2015. február 14. Az eredetiből archiválva : 2015. február 14..

Linkek

  • Útmutató a hang- és videólejátszáshoz JMF használatával