Reproductor mp3 en Java (Java Media Framework)

En esta ocasión quiero compartir un proyecto personal, un reproductor de archivos mp3 muy simple llamado Chicken Player. Utilice el Framework Java Media para gestionar la reproducción de los archivos y un plugin que trabaja con ese framework, llamado jffmpeg, para gestionar el soporte de codecs de los archivos.

Al realizar este proyecto, me vi en la necesidad de buscar numerosas veces información en Internet, por lo que creo que si alguien tiene pensado realizar algo similar, quizá le sea de ayuda.

Aqui les dejo algunas capturas:

Estos son algunos de los links que me fueron de gran ayuda:

http://estebanfuentealba.wordpress.com/2009/03/23/reproducir-formatos-mp3-java-media-framework-jmf-en-ubuntu/

http://toolboxnet.blogspot.com.ar/2010/02/treeset-manejar-colecciones-ordenadas.html#.UDdnG7QgdxB

http://www.lcc.uma.es/~pinilla/TutorialJMF/Reproduccion.htm

http://jc-mouse.blogspot.com.ar/2010/05/reproductor-mp3-en-java.html

http://docs.oracle.com/cd/E17802_01/j2se/javase/technologies/desktop/media/jmf/2.1.1/apidocs/

Y el link para que descarguen el proyecto:

https://www.dropbox.com/s/t20q4t3cb3m0exr/ChickenPlayer%201.0.rar


9 thoughts on “Reproductor mp3 en Java (Java Media Framework)

  1. no he revisado tu proyecto aun pero nesecito saber si lograste ponerle pause a un archi ya en reproduccion que es una de las cosas que no he logrado y si es posible utilizando este API equalizar a nuestro gusto Gracia y me ha servido de mucho pues tambien me he pasado tiempo buscando informacion sobre este API.

    1. De nada Yuniel. Si, pude ponerle pausa a la reproducción actual, esta hecho en el proyecto. La parte de equalizar creo esta fuera del alcance de la API, hace bastante que la use ya no recuerdo, pero investiga que quizá es posible. Suerte con tu proyecto!

      1. Ya me di cuenta como es que la usas he navegado no se que cantidad de paginas para saber como se hacia esa simpleza de nuevo muchas gracias por tu ayuda y espero que sigas publicando proyectos de diversos tipos para ayudar a la comunidad.

      2. como estas amigo quiero que me ayudes con este programa.. lo quiero usar pero me sale rojo en estas lineas..
        PlugInManager.addPlugIn(jffmpegAudioDecoder, codecAudio.getSupportedInputFormats(), new Format[]{new AudioFormat(“LINEAR”)}, PlugInManager.CODEC);
        try {
        myPlayer = Manager.createPlayer(cancion.getUrl());
        }
        catch (IOException ex)
        {
        Logger.getLogger(Reproductor.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoPlayerException ex) {
        Logger.getLogger(Reproductor.class.getName()).log(Level.SEVERE, null, ex);
        }
        myPlayer.start();
        actual = cancion;
        myPlayer.addControllerListener(this);

        espero me puedas ayudar.. gracias

  2. Una pregunta antes de ver este block yo tenia hecho ya un reproductor solo que no habia encontrado la manera de lograr poner pausa y fijando por el tuyo ya lo logre pero ahora me sucede algo que antes no. Pues este es el caso pues ahora no me reproduce todos los archivos mp3 como antes tienes idea de que puede ser estuve probando con el tuyo y le sucede igual. Si tienes alguna solucion por favor comunicamela

    1. Mmm si, a veces con ciertos archivos mp3, no se reproduce bien el audio (como distorsionado). Supongo que es porque el archivo tiene algún formato que la API no soporta, algo con la frecuencia de muestreo quizá. El proyecto es de hace 2 años así que no recuerdo mucho. Recién revisé un poco el código, podrías fijarte de modificar el método “public void reproducir(Cancion cancion)” de la clase Reproductor a ver si se te soluciona.

      1. encontre el problema en estas lineas de codigo que quitándolas se elimina el problema
        String jffmpegAudioDecoder = “net.sourceforge.jffmpeg.AudioDecoder”;
        Codec codecAudio = null;
        try {
        codecAudio = (Codec) Class.forName(jffmpegAudioDecoder).newInstance();
        } catch (ClassNotFoundException ex) {
        Logger.getLogger(MediaPlayer.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        Logger.getLogger(MediaPlayer.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        Logger.getLogger(MediaPlayer.class.getName()).log(Level.SEVERE, null, ex);
        }
        PlugInManager.addPlugIn(jffmpegAudioDecoder, codecAudio.getSupportedInputFormats(), new Format[]{new AudioFormat(“LINEAR”)}, PlugInManager.CODEC);

  3. oye no se por que no puede reproducir la musica en tu programa. Ya hice una lista de reproduccion y le doy play pero no me sale nada solo errores en la linea 111 de la clase del reproductor nose si me puedas ayudar o explicar por que pasa eso. Igual me dejaron hacer algo asi pero solo es una rockola

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s