Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

16/5/10

Reproductor MP3 en java

JAN29


Posteando de tiempo, se me ocurrio compartir el codigo de un simple reproductor mp3 hecho en java con la API de Java Media Framework. El codigo qu presento a continuacion sirve como base para el desarrollo de proyectos mucho mas ambiciosos, pero claro todo depende de las ganas que le pongas al programar, todo esta en tus manos, yo te digo como comenzar pero tu decides como terminar.

El proyecto.
Necesitas:
  • Java, obvio no :D
  • un IDE, yo utilizo Netbeans 6.0
  • el API de Java Media Framework
  • 15 minutos de tu tiempo

Creando la Interfaz

1. Crea un nuevo proyecto en Netbeans y añade un JFrame: reproductor, a este jframe añade un Menu, un JSlider , dos jButton y un label en la parte inferior, trata de que te quede como en la imagen de abajo

El reproductor

2. Crea una nueva clase y llamala mp3.java, esta clase es la encargada de trabajar con los archivos MP3. El codigo necesario esta aqui:


import java.io.IOException;
import java.net.URL;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import java.util.Timer;
import javax.swing.*;
import java.awt.*;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.filechooser.FileNameExtensionFilter;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class mp3{
//el player
private Player mediaPlayer;
//animacion
private Timer tiempo ;
private TimerTask task;
private int speed = 1000;//velocidad
private int frame=0;
//control    
boolean run = false;    
boolean todo_ok = false;
//archivo
URL mediaURL=null;
String file="";   
//otros
String t=null;
//filtro
private static FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivo MP3","mp3","mp3");
    
//el constructor vacio
    public mp3() {} 
   /* controles de reproduccion */
public String STOP(){        
//comprueba que el reproductor tenga un archivo
    if (todo_ok){
        mediaPlayer.stop();  
        this.todo_ok=false;  
        this.run=false;
        this.file="";
        this.stopAnimation();
    }
    return "Reproductor mp3 - by Mouse";
}

/* Reproduce un archivo mp3, si no encuentra ninguno devuelve
 un string vacio */
public String PLAY(JSlider b){
    t ="No existe ningun archivo...";
    if (todo_ok){
        if(!run){//si ya se esta reproduciendo
            mediaPlayer.start();
            this.run=true;
            t="Reproduciendo";
            this.startAnimation(b);
        }
    }
    return t;
}  
  
 //para la animacion  
public void startAnimation(final JSlider b) {    
    if (todo_ok) {
        tiempo = new Timer();
        task = new TimerTask() {
            public void run() {     
                //calculamos el tiempo de la animacion por 100%
                frame = (int) Math.round((mediaPlayer.getMediaTime().getSeconds() * 100)/mediaPlayer.getDuration().getSeconds());
                //cuando ambos sean iguales quiere decir que el video a alcanzado el final de la reproduccion
                if(mediaPlayer.getMediaTime().getSeconds() == mediaPlayer.getDuration().getSeconds()){
                    frame=100; // 100%
                    STOP();//SE DETIENE Y DESTRUYE EL MEDIA PLAYER
                }
                else // sino
                {
                    // se actualiza el nuevo valor del Slider
                    b.setValue(frame);
                    //Porcentaja de reproduccion
                     System.out.println("Tiempo de reproduccion: " + frame + "% de 100%");
                }
               }
        };
        //se inicia la animacion
        tiempo.schedule(task,0,speed); 
    }
}

//detiene la animacion
public void stopAnimation() {
    tiempo.cancel();
    task.cancel();
}
     
/* Metod que muestra una ventana de dialgo para añadir "archivos" al reproductor
* hace uso del metodo anterior "setvideo"
*/
public String Abrir_mp3(){
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setFileFilter(filter);
    int result = fileChooser.showOpenDialog(null);  
    if ( result == JFileChooser.APPROVE_OPTION ){
        try {   
            //si se esta reproduciendo un mp3, se detiene
            if(todo_ok){this.STOP();}
            //se asigna a mediaURL el archivo de video seleccionado
            URL url = fileChooser.getSelectedFile().toURL();   
            //se coloca el nombre de la cancion en la variable file
            this.file= fileChooser.getSelectedFile().getName();
            //se asigna el mp3 al reproductor
            mediaPlayer = Manager.createRealizedPlayer( url );
            //se coloca a true
            this.todo_ok=true;          
         } 
         catch (NoPlayerException ex) {
            Logger.getLogger(mp3.class.getName()).log(Level.SEVERE, null, ex);
         } catch (CannotRealizeException ex) {
            Logger.getLogger(mp3.class.getName()).log(Level.SEVERE, null, ex);
         }            catch (IOException ex) {
            Logger.getLogger(mp3.class.getName()).log(Level.SEVERE, null, ex);
         } 
        }
        return "Reproductor mp3 - " + this.file;
    }
}

Explicacion: Como se ve en el codigo, este reproductor tiene los controles basicos para  reproducir PLAY y detener STOP el archivo mp3, ademas unos metodos para animar el jSlider y asi ver el avance en la reproduccion, el metodo Abrir_mp3(); te presenta una ventana de dialogo para que puedas buscar tu archivo MP3 y reproducirlo, todo esto desde una interfaz grafica. El codigo esta bastante comentado.

3. Ahora para implementar este codigo en la interfaz, debes hacer lo siguiente:
Creas una instancia a nuestra clase mp3.java y añades los metodos a sus controles correspondientes.

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
    //abrir mp3
        this.setTitle(mimp3.Abrir_mp3());
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        //dale play
        jLabel1.setText(mimp3.PLAY(jSlider1));
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
       //detener
        this.setTitle(mimp3.STOP());
        jLabel1.setText("Detenido");
}
// instancia a la clase mp3.java    
mp3 mimp3 = new mp3();

Y eso es todo, aqui puedes ver el reproductor funcionando
Aqui el video para una mejor explicacion
esta es la base para reproductores mas trabajados, como por ejemplo mi version personal del reproductor winamp, aun en desarrollo, pero cuando lo termine lo subire para compartirlo con todos


No puede faltar el codigo fuente del proyecto en netbeans 6.0
Click para descargar
Alguna duda, no dudes en preguntar, pero recuerda que puedo aconsejarte pero no realizar todo el trabajo por ti, como dijo el profe Escalante, solo HAY QUE TENER GANAS

43 comentarios:

Anónimo dijo...

Hola de casualidad ya terninaste el reproductor que estabas haciendo me intereso per la interfaz los botonos y todo eso si me podrias explicar como hacerlo te lo agradeceria

Anónimo dijo...

muy bueno tu post pero el link esta muerto.. haber si lo resubes,, y ese skin esta chido.. haber si posteas los skin. que usastes..

Jaime dijo...

Buen aporte ya lo habia intentado pero nunca pude darle la funcionalidad al JSlider que cuando cambie de posicion el disco
se adelante o se atrase respectivamente quisiera saber si me puedes ayudar con ello.
Tengo entendido que se puede realizar

Player.setMediaTime(Time time)
pero no se como manejar el evento

masip dijo...

Hola, muy bueno el aporte gracias.
Yo tambien estoy interesado en el skin que usas y en la posibilidad de crear uno propio si pudieras guiarme en el proceso te lo agradeceria, gracias.

Mouse dijo...

que bueno que les gusto el skin, su creacion es bastante sencilla y lo colocare mas adelante. saludos

leoooncio dijo...

hola amigo disculpa me salen error en esto
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
no se por que, tambien aki private Player mediaPlayer;
que puedo hacer audame gracias
mi correo leoooncio@hotmail.com

jc mouse dijo...

leoncio, te muestra un error es esa parte porque no estas incluyendo la libreria Java MediaFramework, te sugiero que te pases por este tuto:

http://jc-mouse.blogspot.com/2009/12/reproducir-video-en-java-y-netbeans-con.html

Masip dijo...

Tengo un pequeño problema con el proyecto que as adjuntado arriba.
Yo lo descargo y lo abro con el Netbeans, le adjunto la libreria JMF que tengo descargada y instalada en Ubuntu pero a la hora de ejecutar-lo, cuando abro un archivo mp3 (solo e probado en este formato) me salta el siguiente error:
Unable to handle format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize=32768 bits
Failed to realize: com.sun.media.PlaybackEngine@a68fd8
Error: Unable to realize com.sun.media.PlaybackEngine@a68fd8
03-jun-2010 16:45:09 jcmousemp3.mp3 Abrir_mp3
GRAVE: null
javax.media.CannotRealizeException
at javax.media.Manager.blockingCall(Manager.java:2005)
at javax.media.Manager.createRealizedPlayer(Manager.java:528)
at jcmousemp3.mp3.Abrir_mp3(mp3.java:117)
at jcmousemp3.reproductor.jMenuItem1ActionPerformed(reproductor.java:147)
at jcmousemp3.reproductor.access$200(reproductor.java:6)
at jcmousemp3.reproductor$3.actionPerformed(reproductor.java:130)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Yo creo que el problema esta en la libreria JMF que no consigo que se instale correctamente el linux (en windows no hay problema).
Lo que me parece raro es que de el error aun adjuntando los .jar de la libreria JMF.
Si podeis hechar-me una mano os lo agradecere. Gracias y perdon por la extension.

jc mouse dijo...

masip
tu problema esta en los codec, tu linux no esta reconociendo o no tiene el codec correctamente instalado. te sugiero que te pases por aqui:
http://java.sun.com/javase/technologies/desktop/media/jmf/mp3/download.html
en esa pagina te descargas el plugin de java para mp3 y lo instalas

java com.sun.media.codec.audio.mp3.JavaDecoder

fijate que lo tienes bien instalado, para eso ingresa a JMF registry, en la tercera pestaña PLUGINS y ahi en la segunda pestaña CODEC y buscalo

espero te funcione :D

Anónimo dijo...

HOLA YO ESTOY TRABAJANDO EN UN PROYECTO QUE USA JMF PERO LO QUE QUIERO HACER ES CAPTURAR UNA IMAGEN DE LA CAMARA DE MI COPUTADOR Y GUARDARLA EN UNA CARPETA AGRADESCO ME DEN UNA ORIENTACION O ALGUNA DOCUMENTACION DE JMF QUE ESTE EN ESPAÑOL CON ALGUNOS EJEMPLOS QUE ME PERMITA ENTERDERLO

Masip dijo...

Gracias por contestar Mouse.
Bien te comento, e descargado el plugin de mp3 lo e descomprimido y e copiado el .jar a la ruta /usr/lib/jvm/java-6-sun/jre/lib/ext/ tambien lo e copiado a la carpeta de JMF en la parte de lib que tengo en el home por si las moscas.
Una vez hecho esto e ejecutado el comando que me señalaste y no me lo reconoce ja que salta una excepcion de classnotfound.
Respecto al JMF registry, efectivamente no esta el plugin hay y no lo puedo añadir (aparte de que tengo problemas con el programa porque se queda colgado).
No creo que este bien instalado el plugin lo instale siguiendo unas instrucciones de una web que encontre, ya que en la pagina de sun no dan demasiados detalles. Seguire investigando.
Gracias por tu atención y perdona por la extension.

Unknown dijo...

hola si me puedes ayudar que librerias nomas tengo que agregar al proyenco para que funcione lo del mp3.
gracias por tu atencion.

Unknown dijo...

hola un favor si me podrias ayudar a ponerle al reproductor una lista para ir agregando caciones que se bayan a repruducir, que la reproduccion sea continua y botones para cambiar las canciones y el boton de pause gracias por tu ayuda.

Noé Miranda dijo...

hola no tendras uno que pueda cambiar de cacnion hacia adelamte y hacia atras y que cuadno se termine la cacnion empieza la que este adelante??

Anónimo dijo...

Hola que hay.

Muchas gracias por el ejemplo, se entiende perfectamente, pero tengo un problema.

¿Como tengo que hacer si en vez de seleccionar una canción y reproducirla, lo que quiero es reproducir las urls de las canciones que tengo guardadas en un ArrayList?.

¿Hay algún ejemplo por ahí?. He intentado de muchas maneras modificando el código que has puesto, y no lo consigo.

Mi dirección de correo es gipuzkoa41@hotmail.com

Un saludo, y muchas gracias.

Anónimo dijo...

Hola te comento que yo eh trabajado un reproductor algo mas complejo pero entendible al puro estilo winamp junto con algunas funciones propias te dejo mi direccion ahi deje una version:
http://jonathan-palomino.blogspot.com/

Jeisson Rosas dijo...

Hola, ps yo tambien ando trabajando en un reproductor de musica y video con la libreria BasicPlayer, sin embargo al igual q con la libreria jmf, solo puedo lograr reproducir ciertos formatos, me gustaria saber como le podria agregar otros codecs o que reconosca los instalados en windows, Gracias :D.

edgar dijo...

oye muy buena tu pagina
he estado viendo todos tus ejemplos
buen trabajo y gracias por todo esto

Anónimo dijo...

Hola como andan? muchachos, intente usar las librerias JMF para reproducir un MP3 y me salio el siguiente mensaje " Unable to handle format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize=32768 bits
Failed to prefetch: com.sun.media.PlaybackEngine@72f6f1b6
Error: Unable to prefetch com.sun.media.PlaybackEngine@72f6f1b6"

Si bien he bajado e instalado JMF y el plugin de Mp3 no se que podria ser. tienen alguna idea de como orientarme para resolver este problema? saludos.

Martin

Ronny dijo...

hola... yotengo el mismo problema que Martin...

me instale el plugin y me baje el jmf, pero me sigue tirando el mismo error..

Unable to handle format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize=32768 bits
Failed to realize: com.sun.media.PlaybackEngine@e06703
Error: Unable to realize com.sun.media.PlaybackEngine@e06703
03/12/2010 18:45:37 sonido.mp3 Abrir_mp3
GRAVE: null
javax.media.CannotRealizeException


si alguien me puede ayudar se lo agradeceria..

Ronny

Unknown dijo...

eit ola, me agradan tus aportes e tomado varios ejempos para mis propios programas, bueno a lo que interesa veras estoy trabajando en un software de video rockola en java(netbeans / windows) bueno mi duda seria si existe una manera de reproducir varios tipos de audio y video (flv, mp4, avi, wav, etc)... pues para que este mas completa, usando algun codec o alguna libreria o algo jeje gracias por tu aportes y tu ayuda

Anónimo dijo...

Hola viejo, muy buen post, yo soy programador, y queda clarito, saludos y gracias

Sombra7 dijo...

noc q librerias poner para q funcione
ALGUIEN ME PUEDE AYUDAR

Mouse dijo...

se utliza las liberias de Java Media Framework

http://java.sun.com/javase/technologies/desktop/media/jmf/mp3/download.html

Josafat dijo...

Que hay compa, muy buen blog, tengo un problema con un reproductor, lo que pasa en mi reproductor tengo una lista donde agrego todos los archivos mp3 a reproducir, y al darle doble clic que se cargen, pero pasa algo extraño, me manda este error:
Error: Unable to realize com.sun.media.amovie.AMController@19cc1b
javax.media.CannotRealizeException

t es en esta linea:
mediaPlayer = Manager.createRealizedPlayer( url );
lo extraño esque aveces si lo reproduce, pero otras veces no, alguna idea de por donde pueda ser?, antes de reproducirlos muevo los archivos mp3 a una carpeta temporal, los archivos si se crean bien, ya que los puedo reproducir en el reproductor de windows, bueno por tu atencion gracias.

Anónimo dijo...

Ana

Hola buenas tardes.
Una pregunta que metodo o como podria hacer para poder manipular 2JList. Bueno lo que en si quiero, es que cuando yo seleccione un item en un JList al presionar una tecla en especifico, se pocesione el foco en el JList siguiente.
Lo he tratado de hacer con getFocus pero segun que JList no tiene esa propiedad, Pueden ayudarme?

gracias

Jonathan Rojas rojas_23547@hotmail.com dijo...

Hola mouse, tu proyecto me sirvió de gran ayuda, pude hacer un excelente reproductor con miles de metodos que vemos en reproductores comunes, lo que nunca pude encontrar fue como manejar el volumen del audio, me podrías ayudar?? agradecido

maweeVR dijo...

Oye Viejo Esta Chido tu Post, Pero Llevo Tiempo Buscando Una Solucion Para Este Error:
Error: Unable to realize com.sun.media.amovie.AMController@78bc3b
Y No Encuentro Una Solucion, Solo Reprodusco Archivos MP3, Pero Cuando La Velocidad De Transmisicion Es De 320kb Se Cae En Este Error, Please Ayuda

Anónimo dijo...

Hola queria saber si alguien me puede ayudar necesito un reproductor de audio y video en uno solo pero no consigo hacrlo...estoy utilizando el API JMF.de antemano gracias a JC Mouse

Anónimo dijo...

Saludos oie muy buena pagina de verdad excelente una duda tendrás algún tema donde expliques como cambiar la forma de un botón hacerlo circular como aparece en tu imagen tu version personal del reproductor winamp el play es circular

Anónimo dijo...

HOLA MOUSE OJALA ME AYUDES TODO IBA BIEN CON EL PROGRA PERO YA PARA SELECCIONAR LA CANCION A REPRODUCIR NO ME LANZA LA VENTANA PARA LOCALIZARLA Y SELECCIONARLA SEGUN YO ESTA BIEN...PERO OVIO NO LO ESTA NO SE SI SEBES EL XQ DE ESTO...TE AGRADECERIA MUCHO GRACIAS

Diego Gonzalez J. dijo...

Tengo una pregunta, sobre JMF queria saber si se pueden comparar dos sonidos y que retorne si son iguales o no, es que estoy en medio de un proyecto y necesito realizar la comparacion de dos sonidos.

mi correo es decco_reighan_msku10@hotmail.com

Anónimo dijo...

Disculpa soy medio nuevo en esto de java, al escoger una cancion y poner play no me sale el sonido ni se mueve el jSlider se me activa el label q dice q esta reproduciendo pero el resto no.. si me pudieras ayudar con eso
y muchas gracias

Anónimo dijo...

Q tal tengo hecho un reproductor pero utilizando la libreria JavaZoom y JavaBasicPlayer pero puedo hacer que se mueva el Jslider pero quiero que cuando muevo en el Jslider se me adelante o retroceda la cancionesta es la manera como hago q se mueva el Jslider

//Creo el timer que entre en el metodo a los 250ms y agrego el evento ActionListener.

Timer tmpActualizar=new Timer(250, new ActionListener() {

public void actionPerformed(ActionEvent e) {

//maxbyte es el numero total de bytes que tiene la cancion
maxByte=(int)reproducir.getTamanoBits();

//changeByte es el numero de bytes que tiene conforme avanza la cancion changeByte=reproducir.getProgresoActual();


//barraAvance es el Jslider y le mando como maximo maxByte
barraAvance.setMaximum(maxByte);

//Y para que se mueva con ChangeByte y se actualiza cada vez que entra al timer
barraAvance.setValue(changeByte);


//cuando el numero total de bytes es igual a los bytes que transcurren es que se termino la cancion y por lotanto le doy a siguiente cancion if(maxByte==changeByte){
numCancion++;
if(!listaDoble.vacia()&&numCancion<=listaDoble.cantidad()){
if(btnAleatorio.isSelected()){
numCancion=rand(contSong);
}
cambiarCancion();
}else
numCancion--;
}

}
});

Unknown dijo...

Que tal amigo me parecio muy bueno tu ejemplo de reproductor. Te cuento que me en encuentro realizando un proyecto parecido y me gustaria que el look and feel se visualizara con los mismos estilos del proyecto winamp que estas trabajando. Es posible que me indiques cuales son las librerias y javadocs necesarios para utilizar ese look and feel(azul oscuro y negro). Quedo atento y muchas gracias por tu colaboracion. siegfried4110@hotmail.com

Unknown dijo...

Hola mouse, muy buenos tus aportes, hace poco que comienzo a visitar tu blog me parece genial!.

Bueno, tengo una cuestión al igual que te comenta Oscar Garcia, sobre como logras establecer el look and feel de tu reproductor, el que muestras al final del vídeo y en la ultima imagen, ¿haces uso de alguna librería en especifico o como es que estableces ese look and feel?, me podrías orientar un poco como logras esa apariencia, te lo agradecería infinitamente...

Muy buen blog.
Saludos desde México!!
sognare.1@hotmail.com

Unknown dijo...

hola mouse
una pregunta ya hice todo como lo pusiste en el codigo que de echo salio perfecto pero ahora lo que quiero es poner 2 botones el de pausa y continuar, pero me fije en los metodos que trae el javax.mediaplayer
y no viene esos 2 metodos
como podria hacer esto ???

jc mouse dijo...

Oscar y Thony no utilizo mimgun look and feel para las ventas, sino repinto los componente con imagenes

Cristian segun recuerdo JMF no tiene el metodo PAUSA asi que tendrias que capturar la duraccion del video y cuando se preione un botn pausa capturar en que parte ddel video se detuvo y despues con esa informacion reanudarlo

Unknown dijo...

Gracias por este ejemplo del reproductor, lo probe y si me funciono, ahora lo de pausa, siguiente y anterior creo q es con nodos o listas enlazadas si no estoy mal, Saludos.

johan dijo...

GRACIAS!!!!!
YA LO ROBÉ Y ES UNA MARAVILLA... MI PROYECTO SERÁ EL MÁS GENIAL...

Unknown dijo...

Hola, descargo el proyecto pero no me sirve en mi netbeans, quiza es xq tengo la version 7.3... podrias ayudarme?

Unknown dijo...

hola, he descargado el código fuente y traté de utilizarlo, se reproduce, pero no toque. ¿Qué debo hacer?

Unknown dijo...

gracias amigo me sirvió tu programa muy bueno y fácil de entender

Post recomendado