Java Media Framework

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 21 augusti 2015; kontroller kräver 9 redigeringar .
Java Media Framework
Sorts multimedia ramverk och funktionsbibliotek
Författare Sun Microsystems
Utvecklaren Sun Microsystems
Skrivet i Java
Första upplagan 1997
Hårdvaruplattform plattformsoberoende
senaste versionen
  • 2.1.1e ( 23 maj 2003 )
Licens användaravtal [1]
Hemsida oracle.com/technetwork/j...

Java Media Framework ( eng.  Java multimedia framework ) är ett bibliotek som underlättar utvecklingen av program som fungerar med ljud och bild.

Stöd för MP3-kodning och avkodning lades till i den andra versionen av biblioteket, men senare år 2000 togs det bort från distributionen. 2004 publicerades ett tillägg för att spela MP3-data. De kompilerade filerna är tillgängliga under olika licenser och koden under SCSL .

Den aktuella versionen kommer med en uppsättning JAR- filer och skript för att köra applikationer med JMF:

Grundläggande principer

Biblioteket abstraherar mediehantering genom medieimport DataSourceoch DataSinkmediaexport. Detta tillvägagångssätt tillåter utvecklare att arbeta lika med alla dataformat som stöds av JMF.

Klassen Managertillhandahåller de statiska metoder som oftast används för att arbeta med biblioteket.

Kritik och alternativ

En av de största nackdelarna med biblioteket är bristen på stöd för många moderna format. Till exempel kan alla Java-plattformar inte spela MPEG-2 , MPEG-4 , Windows Media , RealMedia , de flesta QuickTime -videor , Flash -data äldre än 2 och MP3- uppspelning kräver ett tillägg [4] . Och de flesta prestandaförbättringar är endast tillgängliga för Linux , Solaris och Windows .

Alternativ

namn Beskrivning stat Licens Hemsida
Freedom for Media in Java (FMJ) öppen källkod JMF implementering inte uppdaterat sedan 2007 - [ett]
Java Sound API - släpptes i april 2004 - [2]
QuickTime för Java utvecklad av Apple inte utvecklat - -
IBM Toolkit för MPEG-4 - - - [3]
Jffmpeg Partiell port av FFMPEG till Java för användning med JMF inte uppdaterat sedan 2006 - [fyra]
jvlc - inte utvecklat - [5]
vlcj Låter dig bädda in VLC-spelaren i en AWT- eller Swing-applikation aktiva - [6]
gstreamer-java bibliotek för att använda gstreamer 0.10 i Java utvecklas knappast - [7]
Cortado Ogg Vorbis och Theora Java appletspelare - - [åtta]
Directshow <> Java Wrapper - - - [9]
Fobs4JMF - inte utvecklat - [tio]
JLayer MP3-bibliotek - - - [11] Arkiverad 12 september 2008 på Wayback Machine
Xggler - inte utvecklat GPLv3 eller LGPL [12]
Video4Linux4Java bibliotek för att komma åt v4l och v4l2 inte uppdaterat sedan augusti 2013 GPLv3 [13]

Exempel

Detta program visar AWT - filöppningsdialogen och försöker spela upp den valda filen.

importera javax.media.* ; importera java.io.File ; importera java.awt.* ; public class TrivialJMFPlayer utökar Frame { public static void main ( String [] args ) { try { Frame f = new TrivialJMFPlayer (); f . pack (); f . setVisible ( sant ); } catch ( Undantag e ) { e . printStackTrace (); } } public TrivialJMFPlayer () kastar java . io . IOException , java . netto . MalformedURLEexception , javax . media . MediaException { FileDialog fd = new FileDialog ( detta , "TrivialJMFPlayer" , FileDialog . LOAD ); fd . setVisible ( sant ); Fil f = ny fil ( fd . getDirectory (), fd . getFile ()); Spelare p = Manager . createRealizedPlayer ( f . toURI (). turURL ()); Komponent c = p . getVisualComponent (); lägg till ( c ); /*den här koden fungerar inte =P*/ p . start (); } }

Det mesta av programtexten är designad för att fungera med AWT, medan endast 2 rader använder JMF.

  • Manager.createRealizedPlayer()skapar implicit en fil DataSourcefrån den mottagna URL :en , med vilken Player.
  • Metoden getVisualComponent()skapar Componenten , som senare kan användas som en del av det grafiska gränssnittet . Om uppspelningskontroller krävs måste du dessutom anropa metoden getControlPanelComponent(), som skapar ett objekt som också kan läggas till i programgränssnittet.

Detta exempel är lika lämpligt för alla mediatyper som stöds av JMF-biblioteket.

Se även

Anteckningar

  1. http://www.oracle.com/technetwork/java/javase/license-135825.html
  2. JMStudio Användarhandbok . Hämtad 15 februari 2015. Arkiverad från originalet 15 februari 2015.
  3. JMFRegistry användarhandbok . Hämtad 15 februari 2015. Arkiverad från originalet 15 februari 2015.
  4. JMF 2.1.1 - Format som stöds . Hämtad 14 februari 2015. Arkiverad från originalet 14 februari 2015.

Länkar

  • En guide till ljud- och videouppspelning med JMF