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; [...]

6/7/10

Reproductor MP3 en java con Playlist

JAN29


Como muchos me pidieron un reproductor de mp3 con un playlist, ahora dejo a consideracion de los programadores el codigo fuente completo hecho con netbeans 6.0 y la api de Java Media.

Hasta la fecha ya deje muchos tutoriales sobre como utilizar esa API, asi que no veo la razon de redundar sobre lo mismo, por ese motivo en esta ocasion solamente dejare el codigo fuente para que sea examinado por ustedes, claro esta el codigo esta extra comentado y lo mas simple posible, y si siguen los tutos que hice creo que no habra donde perderse, ademas de que examinar el codigo fuente y ver como funciona  es una buena practica de INGENIERIA INVERSA que todo programador debe conocer.

Este reproductor tiene la capacidad de abrir archivos mp3 y cargarlos en un playlist para poder reproducirlos uno por uno, ademas tiene implementados los controles Preview y Next para poder pasar de una cancion a otra  con un simple clic, las canciones pueden ser reproducidas desde el boton PLAY o haciendo doble clic en el archivo seleccionado en el playlist. 

Dicho esto no queda mas que dejar un video de como quedo el reproductor
La interfaz que se ve es gracias al skin de Substance, esta libreria junto a las demas librerias de JMF estan en el RAR, asi que no queda mas que decir sino que a bajarselo y estudiarlo.
Click para descargar
Enlaces vivitos y coleando ;)

23 comentarios:

Ivanhoe dijo...

Gracias por el aporte, te quedo muy bien el reproductor.
Comentas que has hecho tutoriales sobre la API Media de Java, ¿tienes un sitio web donde pueda encontrarlos o alguna dirección?
Gracias!

Anónimo dijo...

waw..good the article...
mmm..can i get the project???please..for my references..
please send to my email..
'jews13th@gmail.com'

...thanks be4..^_^..

Angelica Yureni dijo...

Ola tengo un proyecto que hacer y es algo parecido a esto pero la cancion tengo qeu realizar la busqueda y ya que la encuentre la reproducira...
Pero como la jalo desde alguna carpeta predefinida???
Ayuda xrfas!!!

Jonathan Palomino Vilca dijo...

Disculpa no se como has compilado tu aplicacion pero no funka nota no tengo instalado el jmf y como es una aplicacion java-multiplataforma no deberia haber problemas, te sugiero corregirla.

Te paso un link de un verdadero reproductor de sonido y funka de manera multiplataforma.

http://jonathan-palomino.blogspot.com/2010/10/reproductor-de-sonido-java.html

jc mouse dijo...

Ivanhoe todo los tutos y codigo estan en esta pagina, solo buscalos

Angelica Yureni eso no tiene que ver nada con JMF, es puro codigo java, te recomendaria cargar los mp3 en un array,vector o map y despues realizar la busqueda en ellos

Jonathan para que "funke" :) debes tener instalado la API de JMF, este reproductor esta hecho utilizando esa libreria.

Anónimo dijo...

quisiera saber como puedo hacer un reproductor que reproduzca mp3 y videos un mismo frame... de ante mano gracias

Anónimo dijo...

como puedo agregar el boton pausa?

Anónimo dijo...

no puedo bajar el codigo fuente que aparece en la pagina.

Ricardo dijo...

Que tal amigo?...he estado intentando recrear tu reproductor t..de mp3 con play list..pero tengo una duda....como puedo hacer que en lugar que abra un solo archivo y lo despliegue en el jlist, pueda abrir una carpeta con mp3y desplegar estos archivos en el playlis como puedo hacerlo, basandome que ya he recreado el tuyo, el cual me sirvio de ejemplo..espero puedas ayudarme

Mouse dijo...

Ricardo: pues necesitas un lugar donde almacenar tu lista de canciones, una clase playlist por ejemplo donde puedas añadir/quitar las canciones, esto es POO, por lo que una cancion tambien es un objeto con sus propios metodos y propiedades (titulo cancion, duracion, etc). Creo que deje un ejemplo por ahi con lo que tu quieres hacer, buscalo esta en este blog.

Anonimo: el enlace esta activo

Ricardo dijo...

que tal!!,,te molesto nuevamente con una ayuda.....quisiera saber si puedes proporcionarme un ejemplo de keylistener con teclas de direccion para moverme en todo un formulario en java...la verdad estoy desesperado...no tengo ni idea de como hacerlo......la verdad espero puedas ayudarme.....te dejo mi correo....para saber si te puedo agregar al messenger y comentartelo con mas detalle....ricardojesuslp@hotmail.com

por cierto gracias por el ejemplo del reproductor me salvo de muchas sitauciones :)

Juliana dijo...

oye, muy buen programa, estoy tratando de ejecutarlo y obtengo este error, realmente te agradecería si me ayudaras, mi correo es flaca_5_5@hotmail.com


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.jvnet.substance.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:852)
at org.jvnet.substance.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:786)
at org.jvnet.substance.SubstancePanelUI.__org__jvnet__substance__SubstancePanelUI__installDefaults(SubstancePanelUI.java:73)
at org.jvnet.substance.SubstancePanelUI.installDefaults(SubstancePanelUI.java)
at javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:56)
at org.jvnet.substance.SubstancePanelUI.__org__jvnet__substance__SubstancePanelUI__installUI(SubstancePanelUI.java)
at org.jvnet.substance.SubstancePanelUI.installUI(SubstancePanelUI.java)
at javax.swing.JComponent.setUI(JComponent.java:664)
at javax.swing.JPanel.setUI(JPanel.java:153)
at javax.swing.JPanel.updateUI(JPanel.java:126)
at javax.swing.JPanel.(JPanel.java:86)
at javax.swing.JPanel.(JPanel.java:109)
at javax.swing.JPanel.(JPanel.java:117)
at javax.swing.JRootPane.createGlassPane(JRootPane.java:545)
at javax.swing.JRootPane.(JRootPane.java:365)
at javax.swing.JFrame.createRootPane(JFrame.java:277)
at javax.swing.JFrame.frameInit(JFrame.java:258)
at javax.swing.JFrame.(JFrame.java:181)
at jcmousemp3.reproductor.(reproductor.java:10)
at jcmousemp3.Main$1.run(Main.java:25)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Anónimo dijo...

Hola maestro,muy bueno el tuto, sin embargo los links estan caidos, es posible resubirlos??gracias saludos

mouse dijo...

resubiendo :)

Anónimo dijo...

mouse tengo una pregunta ademas de agregar las librerias tengo que agregar otra cosa lo que pasa es que cuando le voy a dar play a cualquier cancion me sale un error mi correo es chelo.189@hotmail.com

mouse dijo...

solo necesita la librerias de JMF y de substance, si no me dices que error te sale no te puedo ayudar

Oscar Reyes Armas dijo...

hola hola me parecio interesante tu reproductor, sobre todo por la parte del play list

oye el link de descarga ya no funciona

espero lo puedas corregir o si no es mucho pedir
me lo puedas enviar x correo
oscarreyesarmas@gmail.com

saludos

Anónimo dijo...

me pareció interesante tu reproductor, sobre todo por la parte del play list pero el link de descarga ya no sirve me lo podrías enviar XD

isma_vg55@hotmail.com

Anónimo dijo...

Como le pongo un botón para reproducir forma aleatoria? atte. Vane

Anónimo dijo...

Alguien me podría enviar el proyecto por favor, tengo que registrarme en 4shared para poder descargarlo, hpriodulce@gmail.com es mi dirección, de antemano gracias

karianawannabe dijo...

no se escucha :/ te agradeceria mucho si me pudieras ayudar. la barrita no avanza solo pone el nombre de la cancion abajo pero nunca avanza la barra ni se escucha

Anónimo dijo...

Que tal muy bueno tu programa solo que a mi me aparece un error al momento de querer reproducir una cancion.

el error es el siguiente:
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@d89fb1
Error: Unable to realize com.sun.media.PlaybackEngine@d89fb1
may 14, 2015 8:39:53 PM repro.mp3 play
Grave: null
javax.media.CannotRealizeException
at javax.media.Manager.blockingCall(Manager.java:2005)
at javax.media.Manager.createRealizedPlayer(Manager.java:528)
at repro.mp3.play(mp3.java:30)
at repro.control.dale_play(control.java:69)
at repro.reproductor.LISTAMouseClicked(reproductor.java:380)
at repro.reproductor.access$400(reproductor.java:6)
at repro.reproductor$6.mouseClicked(reproductor.java:192)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6508)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

espero me puedas ayudar y de antemano gracias.

Anónimo dijo...

Amigo me interesa mucho el programa. ud me haria el favor de pasarmelo. porfa es urgente. mi correo es jssalas8@yahoo.com

Post recomendado