Cómo desarrollar un reproductor de MP3 en Java?

Iniciado por analiz1200, 27 Noviembre 2007, 22:03 PM

0 Miembros y 1 Visitante están viendo este tema.

analiz1200

 :D

Qusiera el codigo de como hacer un reproductor de mp3 en jcreator ya que he tenido varios problemas para implementarlo.

Les agradeceria su ayuda.

Casidiablo

Lo primero es que entiendas que el JCreator es simplemente un IDE, no más. Lo que deberías hacer preguntado es cómo implementar un reproductor mp3 en Java.

Ahora... ¿qué problemas has tenido? ¿Qué llevas hecho?

analiz1200

#2
Este es el codigo que tengo:

Código (java) [Seleccionar]
import java.awt.*;
import javax.sound.sampled.*;
import java.io.*;

public class mp3m extends java.applet.Applet {
   
    /** Initialization method that will be called after the applet is loaded
     *  into the browser.
     */
    public void init() {
        // TODO start asynchronous download of heavy resources
    }

    public void paint(Graphics g) {
   
public void testPlay(String filename)
{
  try {
    File file = new File(filename);
    AudioInputStream in= AudioSystem.getAudioInputStream(file);
    AudioInputStream din = null;
    AudioFormat baseFormat = in.getFormat();
    AudioFormat decodedFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,
     baseFormat.getSampleRate(),16,baseFormat.getChannels(), baseFormat.getSampleRate(), false);
    din = AudioSystem.getAudioInputStream(decodedFormat, in);
    // Play now.
    rawplay(decodedFormat, din);
    in.close();
  } catch (Exception e)
    {
        //Handle exception.
    }
}

private void rawplay(AudioFormat targetFormat, AudioInputStream din) throws IOException,                                                                                                LineUnavailableException
{
  byte[] data = new byte[4096];
  SourceDataLine line = getLine(targetFormat);
  if (line != null)
  {
    // Start
    line.start();
    int nBytesRead = 0, nBytesWritten = 0;
    while (nBytesRead != -1)
    {
        nBytesRead = din.read(data, 0, data.length);
        if (nBytesRead != -1) nBytesWritten = line.write(data, 0, nBytesRead);
    }
    // Stop
    line.drain();
    line.stop();
    line.close();
    din.close();
  }
}

private SourceDataLine getLine(AudioFormat audioFormat) throws LineUnavailableException
{
  SourceDataLine res = null;
  DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
  res = (SourceDataLine) AudioSystem.getLine(info);
  res.open(audioFormat);
  return res;
}
    }


egyware

usa las etiquetas de code
para tu codigo antes que un moderador te heche la espantada por no usarlas
tb puedes usar librerias externas hay una bien buena JLayer es liviana y consume poco de cpu eso si la tienes que tener en un Thread aperte el playing o tb puedes usar JMF pero es mas pesada y no funciona en todos lo OS pero no tienes que usarla en un Thread aparte ya que está en un Thread aparte bueno esop
como dijo casidiablo JCreator es solo un IDE si quieres hacer una grafica de usuario y no sabes usa Netbeans pero tb es solo un IDE
esop xauu xauu

Casidiablo

Umm, no sé... se me hace que el código simplemente lo pillaste en otro lado y ya, es decir, no lo has hecho tú.

Aquí solo te resolvemos problemas directos, la idea es que aprendas, no hacerte la tarea.

Un saludo!