Marco de medios de Java

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 21 de agosto de 2015; las comprobaciones requieren 9 ediciones .
Marco de medios de Java
Tipo de marco multimedia y biblioteca de funciones
Autor microsistemas de sol
Desarrollador microsistemas de sol
Escrito en Java
Primera edición 1997
plataforma de hardware multiplataforma
ultima versión
Licencia acuerdo de usuario [1]
Sitio web oracle.com/technetwork/j…

Java Media Framework ( eng.  Java multimedia framework ) es una biblioteca que facilita el desarrollo de programas que funcionan con audio y video.

La compatibilidad con la codificación y decodificación de MP3 se agregó en la segunda versión de la biblioteca, pero más tarde en 2000 se eliminó de la distribución. En 2004, se publicó un complemento para reproducir datos MP3. Los archivos compilados están disponibles bajo varias licencias y el código bajo SCSL .

La versión actual viene con un conjunto de archivos JAR y scripts para ejecutar aplicaciones usando JMF:

Principios básicos

La biblioteca resume el manejo de medios a través de la DataSourceimportación y DataSinkexportación de medios. Este enfoque permite a los desarrolladores trabajar por igual con todos los formatos de datos admitidos por JMF.

La clase Managerproporciona los métodos estáticos más utilizados para trabajar con la biblioteca.

Críticas y alternativas

Uno de los principales inconvenientes de la biblioteca es la falta de soporte para muchos formatos modernos. Por ejemplo, todas las plataformas Java no pueden reproducir MPEG-2 , MPEG-4 , Windows Media , RealMedia , la mayoría de los videos de QuickTime , datos Flash anteriores a 2 y la reproducción de MP3 requiere un complemento [4] . Y la mayoría de las mejoras de rendimiento sólo están disponibles para Linux , Solaris y Windows .

Alternativas

Nombre Descripción Estado Licencia Sitio web
Libertad para los medios en Java (FMJ) implementación JMF de código abierto no actualizado desde 2007 - [una]
API de sonido de Java - publicado en abril de 2004 - [2]
QuickTime para Java desarrollado por Apple no desarrollado - -
Juego de herramientas de IBM para MPEG-4 - - - [3]
Jffmpeg Puerto parcial de FFMPEG a Java para usar con JMF no actualizado desde 2006 - [cuatro]
jvlc - no desarrollado - [5]
vlcj Le permite incrustar el reproductor VLC en una aplicación AWT o Swing activo - [6]
gstreamer-java biblioteca para usar gstreamer 0.10 en Java apenas se desarrolla - [7]
cortado Ogg Vorbis y Theora Java applet player - - [ocho]
Directshow <> contenedor de Java - - - [9]
Fobs4JMF - no desarrollado - [diez]
Biblioteca JLayer MP3 - - - [11] Archivado el 12 de septiembre de 2008 en Wayback Machine .
Xggler - no desarrollado GPLv3 o LGPL [12]
Video4Linux4Java biblioteca para acceder a v4l y v4l2 no actualizado desde agosto de 2013 GPLv3 [13]

Ejemplo

Este programa muestra el cuadro de diálogo para abrir el archivo AWT e intenta reproducir el archivo seleccionado.

importar javax.media.* ; importar java.io.File ; importar java.awt.* ; clase pública TrivialJMFPlayer extiende marco { public static void main ( String [] args ) { try { Frame f = new TrivialJMFPlayer (); F. _ paquete (); F. _ setVisible ( verdadero ); } catch ( Excepción e ) { e . imprimirStackTrace (); } } público TrivialJMFPlayer () arroja java . yo _ IOExcepción , java . neto _ MalformedURLException , javax . medios _ MediaException { FileDialog fd = new FileDialog ( this , "TrivialJMFPlayer" , FileDialog . LOAD ); fd _ setVisible ( verdadero ); Archivo f = nuevo archivo ( fd . getDirectory (), fd . getFile ()); Jugador p = Gerente . createRealizedPlayer ( f . toURI (). toURL ()); Componente c = p . getComponentVisual (); añadir ( c ); /*este código no funciona =P*/ p . inicio (); } }

La mayor parte del texto del programa está diseñado para funcionar con AWT, mientras que solo 2 líneas usan JMF.

  • Manager.createRealizedPlayer()implícitamente crea un archivo a partir de la URLDataSource recibida , con el cual el .Player
  • El método getVisualComponent()crea Componentun archivo , que luego se puede usar como parte de la interfaz gráfica . Si se requieren controles de reproducción, también debe llamar al método getControlPanelComponent(), que creará un objeto que también se puede agregar a la interfaz del programa.

Este ejemplo es igualmente adecuado para todos los tipos de medios admitidos por la biblioteca JMF.

Véase también

Notas

  1. http://www.oracle.com/technetwork/java/javase/license-135825.html
  2. Guía del usuario de JMStudio . Consultado el 15 de febrero de 2015. Archivado desde el original el 15 de febrero de 2015.
  3. Guía del usuario de JMFRegistry . Consultado el 15 de febrero de 2015. Archivado desde el original el 15 de febrero de 2015.
  4. JMF 2.1.1: formatos admitidos . Consultado el 14 de febrero de 2015. Archivado desde el original el 14 de febrero de 2015.

Enlaces

  • Una guía para la reproducción de audio y video usando JMF