Reproductor de Videos en Java
Reproductor de Videos en Java
Reproductor de Videos en Java
Cureoseando el API de Java Media Framework que me sirvio para realizar el post "Reproducir video en java", me decidi a realizar una secuencia de videotutoriales donde ire explicando paso a paso como crear un reproductor multimedia con las opciones bsicas de reproduccin (PLAY, STOP, MUTE, volumen, etc) y al mismo tiempo profundizando un poco mas en el lenguaje java, asi como en el API JMF. Pero mejor vamos a lo que importa. PRIMERA PARTE CREANDO EL PROYECTO Y LA INTERFAZ INICIAL
La interfaz inicial Esta interfaz es un BETA, solamente trata de mostrar groso modo hacia donde se quiere llegar con el proyecto y asi tener una idea basica para poder comenzar a programar. La misma puede llegar a cambiar a medida de que se vaya avanzando con el proyecto
Que necesitamos
El API Java Media Framework, descargatelo de su pagina e instalalo EL IDE elegido para el proyecto es Netbeans 6.0
Tambien puedes pasar por este post para familiarisarte con el codigo de JMF, tambien puedes encontrar buenos tutoriales en la pagina de SUN, pero lastimosamente estan en ingles.
En esta segunda parte se hace una pequea introduccion al API de Java Media Framework, es aqui donde se creara una nueva clase "paneldevideo.java" la que sera encargada de manejar el API asi como de interactuar con la interfaz. Por el momento esta clase solo consistira en crear un objeto MediaPlayer especificando la URL de un archivo de video, y su reproduccion sera automatica, los controles de reproduccion se dejaran para mas tarde.
/** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ //la clase se extiende de un Jpanel para heredar sus atributos public class paneldevideo extends javax.swing.JPanel{ //declarmos la variable como privada private Player mediaPlayer; //como datos de entrada tenemos //URL la url del archivo a reproducir //Las dimensiones del contenedor que tendra el reproductor public paneldevideo(URL url, Dimension d){ try { // se forzara el uso de componentes de render ligero
Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true); mediaPlayer = Manager.createRealizedPlayer(url); //ahora se declara un Component adecuado para el uso en una GUI Component video = mediaPlayer.getVisualComponent(); // aadimos al componente las dimensiones del contenedor video.setSize(d); video.setVisible(true); // finalmente se aade al jPanel add(video); // el video se reproducira automaticamnte se cree el objeto mediaPlayer.start(); //control de excepciones catch (IOException ex) { Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVE ex); catch (NoPlayerException ex) { Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVE ex); catch (CannotRealizeException ex) { Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVE ex);
En esta tercera parte del video tutorial "Reproductor de videos en java" se introducen los controles de reproduccion PLAY, STOP, MUTE, asi como el control de volumen, todo esto haciendo uso de las herramientas graficas de netbeans.
*/ //la clase se extiende de un Jpanel para heredar sus atributos public class paneldevideo extends javax.swing.JPanel{ private Player mediaPlayer; private Component video; //como datos de entrada tenemos //URL la url del archivo a reproducir //Las dimensiones del contenedor que tendra el reproductor public paneldevideo(URL url, Dimension d){ try { // se forzara el uso de componentes de render ligero Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true); mediaPlayer = Manager.createRealizedPlayer(url); //ahora se declara un Component adecuado para el uso en una GUI video = mediaPlayer.getVisualComponent(); // aadimos al componente las dimensiones del contenedor video.setSize(d); add(video); //control de excepciones catch (IOException ex) { Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVE ex); catch (NoPlayerException ex) { Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVE ex); catch (CannotRealizeException ex) { Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVE ex);
//volumen public float getvolumen(){ return mediaPlayer.getGainControl().getLevel(); } //coloca un valor float correspondiente al volumen public void setvolumen(float volumen){ mediaPlayer.getGainControl().setLevel(volumen); } //control de MUTE public void MUTE(){ if(mediaPlayer.getGainControl().getMute()) { mediaPlayer.getGainControl().setMute(false); } else { mediaPlayer.getGainControl().setMute(true); } } //controlde PLAY y STOP
public void STOP(){ mediaPlayer.stop(); video.hide(); } public void PLAY(){ mediaPlayer.start(); video.show(); } }