lunes, 30 de abril de 2007

Java Media Framework

JMF es una API que nos sirve para incluir multimedia en nuestras aplicaciones de Java, funciona básicamente, recibiendo el contenido multimedia de alguna fuente, para después procesarlo y entregarlo en alguna salida multimedia.Para entender mejor la arquitectura de JMF en la página de Java nos muestran esta imagen, que es muy ilustrativa y nos ayuda a comprender mejor esta API.
La videocámara y el casete de video que se muestran en esta imagen, como fuente de multimedia bien podría ser un archivo mpg y los dispositivos de salida que en la imagen son una televisión y unas bocinas para nosotros serian el applet en el cual vamos a presentar los contenidos multimedia. Lo único que nos haría falta entonces seria el reproductor.

La manera mas sencilla de poner un reproductor en nuestro applet es utilizando el MediaPlayer Bean.

Instanciamos un Media Player, asi:
MediaPlayer player = new javax.media.bean.playerbean.MediaPlayer():

Para decirle al player que archivo queremos reproducir utilizamos la siguiente linea:
player.setMediaLocation(dirección del archivo);

Para iniciar, detener o pausar la reproducción, usamos las siguientes líneas respectivamente:
player.start();
player.close();
player.stop();

Instalación de JMF en Windows
Podemos descargar el instalador de JMF en:
http://java.sun.com/products/java-media/jmf/2.1.1/download.html
Seguimos los pasos del instalador y al final tendremos los Jar de la API y unos ejemplos en: C:\Program Files\JMF2.1.1e y ya lo tenemos instalado, para empezar a utilizar JMF en nuestras aplicaciones solo tememos que incluir estos Jar en el CLASSPATH.

Utilización de JMF en JDeveloper
Para utilizar esta API en JDeveloper, lo único que debemos hacer es incluir todos los .jar que se instalaron en una librería nueva y agregarla a nuestro proyecto.

Plug-in para mp3
Lo podemos descargar en:
http://java.sun.com/products/java-media/jmf/mp3/download.html
Igual que JMF, solo seguimos la instalación, hay que indicarle donde tenemos nuestro JDK y nuestro JRE y listo, después reproducimos un mp3 como si fuera un mpg o cualquier otro archivo soportado por JMF.

23 comentarios:

Javihm77 dijo...

cuando no tenias q ser vos el q subiera esto primero jajaja

Unknown dijo...

Excelente aportacion.

Lamentablemente, ya habian enviado la practica el mismo dia jueves.

La practica se entrega este jueves.

Juls dijo...

Probablemente alguien la hizo antes, pero no la puso a disposición de todos, por eso fue que yo la subí al grupo y trate de explicar como la hice en este manual.
Lo importante es que si les sirvió a varios lo que publique :)

Minetaky dijo...

Hola!
Juls o cual quier otro que lea este blog. ¿Puedo trabajar con MPEG4 en JAVA con el JMF?

Juls dijo...

Si Minetaky, podes trabajar MPEG4 en JMF pero necesitas descargar e instalar el plugin correspondiente, en esta pagina podes encontrar mas información en ingles.

Minetaky dijo...

Hola Juls, gracias por tu ayuda, pero una pregunta mas. tu has trabajado con este plugin??...
te consta que funciona para manipular video (obtenerlo de un puerto y descomprimirlo, etc..) gracias por todo, espero y respondas.

Juls dijo...

Fijate que no he trabajado con ese plugin exactamente pero si con otros, como el de MP3 y pienso que te tendira que funcionar para lo queres, deberiar probar

Minetaky dijo...

Hola Juls, gracias por responder. Fijate que ya baje el plugin de IBM, y siguiendo las instrucciones para su instalacion de acuerdo al doc que se baja en la misma pagina del plugin dice lo siguiente para su uso:

Decoding via JMStudio

1. Open the avi file with the MPEG-4 video
2. Click Play.

ya lo hice, pero fijate que no todos los AVI los reproduce y quice reproducir un archivo de tipo MPEG-4 y no lo reproduce, me dice que puede que no se cree el player para el archivo. No se si tu puedas ayudarme en saber por que pasa esto. Saludos Juls


Nota: Segui los pasos tal y como estan en el manual de instalacion. baje tambien el JMF Registry y tengo tanto como el JDK y el JMF superiores a la que minima requerida. y tambien agrege todo al classpath.

Anónimo dijo...

hola chicos
aqui les dejo mi aporte a este blog

es un foro de java en español! esta en crecimiento asi que estan todos contestando cualquier duda que uno escriba

Foro de java en español

Juls dijo...

Gracias mati!

Unknown dijo...

ola, no veo el .jar por ningun lado, me podrian ayudar.
1000 gracias!.

Juls dijo...

En realidad no hay ningun .jar Wil solo son las lineas para crear un media player y manejarlo, eso lo podrias poner un un frame y ya tenes tu aplicacion.

Anónimo dijo...

solo una pregunta con el java media framework se podria manejar una web cam ???? please quitenme la duda

Juls dijo...

si, si se puede manejar una webcam con JMF, ahorita no te puedo ayudar para decirte como, pero en la pagina de Sun podes encontrar mucha información y ejemplos.

coarite dijo...

hola soy ronald Bolivi: te cuento que estoy haciendo un sistema con JMF para transmitir video al celular , para lo cual nececito de tu ayuda para partir un video con JMF en fotogramas, es decir extraer en imagenes el contenido del video

Anónimo dijo...

hola estoy investigando para poder recoger las imagenes que me envie una camara, la cual tiene que ser inalambrica( ya que ira colocada en un dispositivo controlado remotamente) y poder tratar estas imagenes y mostrarlas en una aplicacion desarrolada en java.
con el JMF creo que se podria conseguir lo de recoger las imagenes, aunque nunca lo he probado, pero mi principal duda es si hay alguna camara inalambrica que soporte la tecnología de Java Media Frame.
de ser asi le agradeceria enormemente me digera que camara es o donde la puedo buscar.
muchas gracias, espero sus respuestas

Anónimo dijo...

hola amigo ayudanos con un ejemplo donde pongas la ruta del video para insertar a un jFrame que se permita visualizar en un comando cualquiera. . .gracias de ante mano

Anónimo dijo...

No soy capaz de resolver esto:
String ruta="c:\\bass63.WAV";
MediaPlayer player=new javax.media.bean.playerbean.MediaPlayer();
player.setMediaLocation(ruta);

y me da este error:
*UNABLE_CREATE_PLAYER*javax.media.NoPlayerException: Cannot find a Player for :c:\bass63.WAV

pero si que esta el wave bass63.WAV en el disco c:\
alguna ayuda

Anónimo dijo...

tengo el mismo problema que el comentario anterior...si alguien sabe como resolverlo que avise porfa..saludos!

Anónimo dijo...

necesito el framevvork pero no me dejan descargarlo de sun por bloqueo.
publiquen de donde puedo descargarlo

Unknown dijo...

Una ayuda, cuando lo estoy instalando al reconocer dispositivos de video, la webcam parpadea, no enciende permanente, y al intentar usarla desde jmstudio, no se ve nada, y por lo tanto desde mi programa menos, que pasara???, gracias, espero contar con suayuda

Unknown dijo...

Porfavor si podrias ayudarme es que no quiere reconocer mi webcam de mi laptop, lo mas curioso es que la primera vez que lo instalo corrio bien mi programa, pero cuando quise volver a correrlo, ya no quizo, ya instale y desinstale, y nada,solo un comentario cuando reconoce los dispositivos la luz de la web parpadea, y nada que reconoce, ojal me pueda ayudar.

Unknown dijo...

Porfavor si podrias ayudarme es que no quiere reconocer mi webcam de mi laptop, lo mas curioso es que la primera vez que lo instalo corrio bien mi programa, pero cuando quise volver a correrlo, ya no quizo, ya instale y desinstale, y nada,solo un comentario cuando reconoce los dispositivos la luz de la web parpadea, y nada que reconoce, ojal me pueda ayudar.