Foro de elhacker.net

Programación => Java => Mensaje iniciado por: MC.cover en 17 Febrero 2016, 07:04 am



Título: Problema con la libreria BasicPlayer
Publicado por: MC.cover en 17 Febrero 2016, 07:04 am
Hola muy buenas. Tengo un pequeño problema para ejecutar archivos re producibles de audio desde java. Estoy usando la librería BasicPlayer.
Mi código es este:
Código
  1. import java.io.File;
  2. import java.util.ArrayList;
  3. import javazoom.jlgui.basicplayer.BasicPlayer;
  4. import javazoom.jlgui.basicplayer.BasicPlayerException;
  5.  
  6. public class Reproducir {
  7.  
  8. void reproduce(ArrayList<String>rutas){
  9.  
  10. try {
  11. BasicPlayer bp=new BasicPlayer();
  12. bp.open(new File(rutas.get(0)));//agarro solo la pocicion cero porque la utilizo de prueba
  13. bp.play();
  14. } catch (BasicPlayerException e) {
  15. System.out.println("error");
  16. }
  17.  
  18. }
  19.  
  20. }

Le paso como parámetro de otra clase al método Reproducir un ArrayList con una lista especifica de la ruta de cada archivo de audio incorporado por el usuario anteriormente.
mi problema es que al ejecutar el programa e elegir una canción y hacer que se ejecute este pedazo de código me sale un error tal que haci:

(comienzo error)
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
   at javazoom.jlgui.basicplayer.BasicPlayer.<clinit>(Unknown Source)
   at com.[mi nombre].Reproductor.Reproducir.reproduce(Reproducir.java:13)
   at com.[mi nombre].Reproductor.WindowP.actionPerformed(WindowP.java:107)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
(fin error).
Espero me puedan ayudar desde ya muchas gracias :)


Título: Re: Problema con la libreria BasicPlayer
Publicado por: 0xFer en 20 Febrero 2016, 19:48 pm
ese mensaje "NoClassDefFoundError" es porque te hacen falta librerías, te cito lo que dice el usuario @antuansoft del foro java Hispano (http://www.javahispano.org/java-se/post/2409807) que es ahí en dónde encontré información, por cierto sólo tenias que pegar el error en google:

Citar
Ese error NoClassDefFoundError aprendetelo bien porque es el indicativo de que te falta librerias. Bueno concreatemente que con encuentra la clase:

org.apache.commons.logging.LogFactory

Pero si esa clase no es tuya, que no lo es porque es de un paquete de apache, está claro que te falta una librería que tienes que añadir a tu proyecto.

Apache Commons logging (http://commons.apache.org/proper/commons-logging/)

Descargala de releases y añadela y prueba a ver si no te vuelve a dar el error con otra clase, pero esta no debería volvertelo a dar si la librería esta correctamente asociada a tu proyecto.

Saludo.



Título: Re: Problema con la libreria BasicPlayer
Publicado por: MC.cover en 20 Febrero 2016, 20:21 pm
Hola gracias por responder. hace mas o menos 2 horas me percate que era eso y pude solucionar todo el problema e continuar con la app hasta terminarla , era de capricho que la hice xD. Gracias.