Java Media Framework

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 21. august 2015; checks kræver 9 redigeringer .
Java Media Framework
Type multimedieramme og funktionsbibliotek
Forfatter Sun Microsystems
Udvikler Sun Microsystems
Skrevet i Java
Første udgave 1997
Hardware platform på tværs af platforme
nyeste version
Licens brugeraftale [1]
Internet side oracle.com/technetwork/j...

Java Media Framework ( eng.  Java multimedia framework ) er et bibliotek, der letter udviklingen af ​​programmer, der arbejder med lyd og video.

Understøttelse af MP3-kodning og -afkodning blev tilføjet i den anden version af biblioteket, men senere i 2000 blev den fjernet fra distributionen. I 2004 blev der udgivet en tilføjelse til afspilning af MP3-data. De kompilerede filer er tilgængelige under forskellige licenser, og koden under SCSL .

Den aktuelle version leveres med et sæt JAR- filer og scripts til at køre programmer ved hjælp af JMF:

Grundlæggende principper

Biblioteket abstraherer mediehåndtering gennem medieimport DataSourceog DataSinkmedieeksport. Denne tilgang gør det muligt for udviklere at arbejde ens med alle dataformater, der understøttes af JMF.

Klassen Managergiver de statiske metoder, der oftest bruges til at arbejde med biblioteket.

Kritik og alternativer

En af de største ulemper ved biblioteket er manglen på understøttelse af mange moderne formater. For eksempel kan alle Java-platforme ikke afspille MPEG-2 , MPEG-4 , Windows Media , RealMedia , de fleste QuickTime -videoer , Flash -data ældre end 2, og MP3 -afspilning kræver en tilføjelse [4] . Og de fleste ydeevneforbedringer er kun tilgængelige for Linux , Solaris og Windows .

Alternativer

Navn Beskrivelse Stat Licens Internet side
Frihed til medier i Java (FMJ) open source JMF implementering ikke opdateret siden 2007 - [en]
Java Sound API - udgivet april 2004 - [2]
QuickTime til Java udviklet af Apple ikke udviklet - -
IBM Toolkit til MPEG-4 - - - [3]
Jffmpeg Delvis port af FFMPEG til Java til brug med JMF ikke opdateret siden 2006 - [fire]
jvlc - ikke udviklet - [5]
vlcj Giver dig mulighed for at integrere VLC-afspilleren i en AWT- eller Swing-applikation aktiv - [6]
gstreamer-java bibliotek til at bruge gstreamer 0.10 i Java udvikler sig næsten ikke - [7]
Cortado Ogg Vorbis og Theora Java applet-afspiller - - [otte]
Directshow <> Java Wrapper - - - [9]
Fobs4JMF - ikke udviklet - [ti]
JLayer MP3-bibliotek - - - [11] Arkiveret 12. september 2008 på Wayback Machine
Xggler - ikke udviklet GPLv3 eller LGPL [12]
Video4Linux4Java bibliotek for at få adgang til v4l og v4l2 ikke opdateret siden august 2013 GPLv3 [13]

Eksempel

Dette program viser AWT - filåbningsdialogen og forsøger at afspille den valgte fil.

import javax.media.* ; importer java.io.File ; importer java.awt.* ; public class TrivialJMFPlayer udvider Frame { public static void main ( String [] args ) { try { Frame f = new TrivialJMFPlayer (); f . pakke (); f . setVisible ( sandt ); } catch ( Undtagelse e ) { e . printStackTrace (); } } public TrivialJMFPlayer () kaster java . io . IOException , java . netto . MalformedURLEexception , javax . medier . MediaException { FileDialog fd = new FileDialog ( denne , "TrivialJMFPlayer" , FileDialog . LOAD ); fd . setVisible ( sandt ); Fil f = ny Fil ( fd . getDirectory (), fd . getFile ()); Spiller p = Manager . createRealizedPlayer ( f . toURI (). turURL ()); Komponent c = p . getVisualComponent (); tilføje ( c ); /*denne kode virker ikke =P*/ p . start (); } }

Det meste af programteksten er designet til at fungere med AWT, mens kun 2 linjer bruger JMF.

  • Manager.createRealizedPlayer()opretter implicit en fil DataSourcefra den modtagne URL , hvormed Player.
  • Metoden getVisualComponent()skaber Componenten , som senere kan bruges som en del af den grafiske grænseflade . Hvis afspilningskontroller er påkrævet, skal du desuden kalde metoden getControlPanelComponent(), som vil oprette et objekt, der også kan tilføjes til programgrænsefladen.

Dette eksempel er lige velegnet til alle medietyper, der understøttes af JMF-biblioteket.

Se også

Noter

  1. http://www.oracle.com/technetwork/java/javase/license-135825.html
  2. JMStudio Brugervejledning . Hentet 15. februar 2015. Arkiveret fra originalen 15. februar 2015.
  3. JMFRegistry Brugervejledning . Hentet 15. februar 2015. Arkiveret fra originalen 15. februar 2015.
  4. JMF 2.1.1 - Understøttede formater . Hentet 14. februar 2015. Arkiveret fra originalen 14. februar 2015.

Links

  • En guide til lyd- og videoafspilning ved hjælp af JMF