MP3 Player con Java

Crear un reproductor MP3 con JAVA

Java es una herramienta muy poderosa,  con la cual podemos realizar cualquier cosa que tengamos en mente, como un reproductor de archivos MP3.

Para el presente proyecto vamos a utilizar las siguientes librerías

·         jl1.0.jar

·         mp3spi1.9.4.jar

·         tritonus_share.jar

Para reproducir un sonido con cualquier extensión, vamos se va a hacer uso de la Interface AudioClip

Para cargar un archivo,  utilizamos el método getAudioClip

AudioClip player_play = getAudioClip(getDocumentBase(), “son_01.mp3”);

           

Para reproducir el archivo vamos a utilizar el método de plasy() player_play.play()

 

 

Empecemos con el desarrollo del applet, la funcion principal de un Applet es el init(), es donde instanciamos los objetos que vamos a utilizar.

 

public void init() {

            //Colocamos un Layout al Applet

            this.setLayout(new BorderLayout());

            //Obtenemos las imagenes para el play y el pause

            icon_play = getImage(getDocumentBase(), play);

            icon_pause = getImage(getDocumentBase(), pause);

           

            //obtenemos la direccion del archivo de sonido,

            sound_player = getParameter("sound_player");

 

            //Obtenenos el archivos de audio

            player_play = getAudioClip(getDocumentBase(), sound_player);

           

            //asignamos la imagen play al Objeto ImageIcon

            ImageIcon icon = new ImageIcon(icon_play);

 

            //Boton para reproducir el archivo de sonido

            btn_play_pause = new JButton();

            btn_play_pause.setSize(30, 25);

            //colocamos el icono PLAY al boton

            btn_play_pause.setIcon(icon);

           

            //le colocamos el nombre de play para poder controlar el evento

            btn_play_pause.setName("play");

            //le asignamos un color de Fondo Blanco

            btn_play_pause.setBackground(new Color(255,255,255));

            //cambiamos el color del Border a blanco

            btn_play_pause.setBorder(new BevelBorder(2, new Color(255,255,255),new Color(0,0,0)));

      }

 

 

Continuando con el desarrollo, ahora vamos a crear el evento del botón Play

Que es un Clase que implementa la interfaz ActionListener

 

 

class PlayPauseListener implements ActionListener {

      @Override

      public void actionPerformed(ActionEvent e) {

            JButton btn = (JButton) e.getSource();

                 

            //verificamos si el boton se encuentra en play o pause

            //si se encuentra en play, entonces el boton deberia cambiar a pausa

           

            if (btn.getName().equals("play")) {

                  btn.setName("pause");

                 

                  //le asignamos la imagen pausa al boton

                  ImageIcon icon = new ImageIcon(icon_pause);

                  btn.setIcon(icon);

                       

                  //ejecutamos el archivo de musica, si el archivo no se encuentra, se va

                  a ejecutar la Excepcion

                  try {

                        player_play.play();

                  } catch (Exception e1) {

                        JOptionPane.showMessageDialog(null,"EXC 1"+ e1.getMessage());

                  }

            } else {//si el boton se encuentra en pausa, entonces deberia cambiarse a 

play

                  btn.setName("play");

                       

                  //le asignamos la imagen play al boton

                  ImageIcon icon = new ImageIcon(icon_play);

                  btn.setIcon(icon);

                  try {

                        player_play.stop();

                  } catch (Exception e1) {

                        JOptionPane.showMessageDialog(null,"EXC 2 "+ e1.getMessage());

                  }

            }

      }

}

 

 

Como pueden observar el desarrollo no es muy complicado, solo se necesita saber lo básico de este maravilloso lenguaje de programación

 

El código completo

 

import java.applet.AudioClip;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Cursor;

import java.awt.Image;

 

import javax.swing.ImageIcon;

import javax.swing.JApplet;

import javax.swing.JButton;

import javax.swing.JOptionPane;

import javax.swing.border.BevelBorder;

 

/**

 * @author Davis Mendoza P.

 */

 

public class Player extends JApplet {

           

      private static final long serialVersionUID = 1L;

      private AudioClip player_play;

      private String play = "assets/images/play.png";

      private String pause = "assets/images/pause.png";

 

      private Image icon_play = null;

      private Image icon_pause = null;

      private JButton btn_play_pause = null;

 

      private String sound_player = null;

     

     

      public void init() {

            this.setLayout(new BorderLayout());

            icon_play = getImage(getDocumentBase(), play);

            icon_pause = getImage(getDocumentBase(), pause);

 

            sound_player = getParameter("sound_player");

 

            player_play = getAudioClip(getDocumentBase(), sound_player);

           

            ImageIcon icon = new ImageIcon(icon_play);

 

            btn_play_pause = new JButton();

            btn_play_pause.setSize(30, 25);

            btn_play_pause.setIcon(icon);

            btn_play_pause.setName("play");

            btn_play_pause.setBackground(new Color(255,255,255));

            btn_play_pause.setBorder(new BevelBorder(2, new Color(255,255,255),new Color(0,0,0)));

            btn_play_pause.addActionListener(new PlayPauseListener());

            this.setCursor(new Cursor(Cursor.HAND_CURSOR));

            this.setBackground(new Color(255,255,255));

            this.add(btn_play_pause, "Center");

      }

 

      class PlayPauseListener implements ActionListener {

            @Override

            public void actionPerformed(ActionEvent e) {

                  JButton btn = (JButton) e.getSource();

                 

                  if (btn.getName().equals("play")) {

                        btn.setName("pause");

                        ImageIcon icon = new ImageIcon(icon_pause);

                        btn.setIcon(icon);

                        try {

                             player_play.play();

                        } catch (Exception e1) {

                             JOptionPane.showMessageDialog(null,"EXC 1"+ e1.getMessage());

                        }

                  } else {

                        btn.setName("play");

                        ImageIcon icon = new ImageIcon(icon_play);

                        btn.setIcon(icon);

                        try {

                             player_play.stop();

                        } catch (Exception e1) {

                             JOptionPane.showMessageDialog(null,"EXC 2 "+ e1.getMessage());

                        }

                  }

            }

      }

}

 

 

Para adicionar el applet a una página web, ya sea JSP, PHP, etc.

 

<APPLET code="Player.class" archive="/mp3_player.jar"

      width="30" height="30" name="playerid">

      <param name="sound_player" value="mp3/son_01.mp3">

</APPLET>

 

 

Donde

1.  code="Player.class" es la clase principal de la Aplicación

2.  archive="/mp3_player.jar"  Es la dirección de la Aplicación JAR

3.  <param name="sound_player" value="mp3/son_01.mp3"> es la direccion del archive MP3 que le enviamos como parametro de entrada

 

 

 

Se me olvidaba si ejecutamos el applet desde una página web, y reproducimos un determinado archivo de sonido, si cerramos el navegador el applet seguirá funcionando, en este caso seguirá reproduciendo el archivo de música, para solucionar esto, tenemos que modificar el método stop() del applet

public void stop(){

      try {

            player_play.stop();

      } catch (Exception e1) {

            JOptionPane.showMessageDialog(null,"EXC 3 "+ e1.getMessage());

      }

}

 

 Finalmente les dejo los archivos fuente de este ejemplo para que lo descarguen

 

http://www.megaupload.com/?d=D1I6XMXO

La contraseña es “java”

CheckBox Group

Crear un Group CheckBox con JavaScript

Al momento de desarrollar sitios web,  siempre surgen dudas, como por ejemplo crear un Grupo de CheckBox, la mayoría dirá porque si para eso existe los Radio Buttons.

Los radio buttons sirven para seleccionar un solo elemento de un grupo,  que pasaría si quisiera seleccionar un elemento o ninguno.

Es por esta razón que decide crear un CheckBox Group

Empecemos  con el desarrollo.

Declaramos los 5 CheckBox’s

<input name="selected[]"  type="checkbox" value="" checked />Elem 1

<input name="selected[]"  type="checkbox" value="" />Elem 2

<input name="selected[]"  type="checkbox" value="" />Elem 3

<input name="selected[]"  type="checkbox" value="" />Elem 4

<input name="selected[]"  type="checkbox" value="" />Elem 5

Creamos la función checkbox_group

Creamos una variable global obj_check, que va a contener el checkBox anterior seleccionado, y enviamos como parámetro el CheckBox seleccionado.

var obj_check;

function checkbox_group(obj){

//verificamos que el objeto sea de tipo checkBox

      if(obj.type == "checkbox"){

      //si el obj_check es null, entonces es el primer checkBox seleccionado

            if(obj_check==null){

                  obj_check=obj;

            }//si el obj_check es ditinto de null, entonces ya existe un CheckBox

seleccionado

            else{

                  //el checkbox anterior lo cambiamo a FALSE y le asignamos el nuevo

 elemento a la variable global

                  if(obj.value!=obj_check.value){

                        obj_check.checked = false;

                        obj_check=obj;

                  }

            }

      }

}

Eso es todo, la función es muy sencillo

Aquí está el código completo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Group CheckBox</title>

<script type="text/javascript">

      var obj_check;

      function checkbox_group(obj){

            if(obj.type == "checkbox"){

                  if(obj_check==null){

                        obj_check=obj;

                  }

                  else{

                        if(obj.value!=obj_check.value){

                             obj_check.checked = false;

                             obj_check=obj;

                        }

                  }

            }

      }

</script>        

</head>

 

<body>

<input name="selected[]" type="checkbox" value="1" onclick="checkbox_group(this)"/>Elem 1

<input name="selected[]" type="checkbox" value="2" onclick="checkbox_group(this)"/>Elem 2

<input name="selected[]" type="checkbox" value="3" onclick="checkbox_group(this)"/>Elem 3

<input name="selected[]" type="checkbox" value="4" onclick="checkbox_group(this)"/>Elem 4

<input name="selected[]" type="checkbox" value="5" onclick="checkbox_group(this)"/>Elem 5

</body>

</html>

 

Conclusión

Una solución bastante práctica y útil principalmente en tablas donde solo se quiere seleccionar una sola fila.

Davis Mendoza

Sitio redireccionado a http://mpdeveloper.blogspot.com

Archivo

Suscríbete

RSS | Atom

Contacto

Contactar

Albergado en:blogspot.es

Noticias: Noticias

Contador gratis contadorplus.com