Fecha actual 23 Jun 2018 23:22

[Java] Reproducir audio 100% fácil

Moderador: dresha

Reglas del Foro
En Ogarena no están bien vistos el Warez ni la Piratería; para eso hay otros foros que seguro os acogen con los brazos abiertos.
apokalypse
Helper Programación
Helper Programación
Mensajes: 207
Registrado: 25 Jun 2008 03:31

[Java] Reproducir audio 100% fácil

Mensaje por apokalypse » 08 May 2012 13:04

Como la reproducción de archivos de audio puede ser algo problemática a veces, he creado una clase que ayuda a reproducir archivos fácilmente.

Basta con crear un objeto de tipo ReproductorDeAudio y llamar al método .reproducirSonido("url del sonido");

Aquí os dejo el código para que lo añadaís a vuestras bibliotecas de código (son más útiles de lo que os imaginais):

Código: Seleccionar todo

package client;

/*
 * @author Apokalypse Studios
 * Clase ReproductorDeAudio APK 1.0
 * 
 * Forma de uso:
 * 1.-Creamos un objeto ReproductorDeAudio
 * 2.-Llamamos al método .reproducirSonido("ruta del fichero"); dándole como parámetro la url del archivo
 * 
 */
 
import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class ReproductorDeAudio 
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /*
     * Constructor
     */
    public ReproductorDeAudio() 
    {
    }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /*
     * Rutina que reproduce el sonido
     */
    public void reproducirSonido(String archivo) 
    {
        File sf = new File(archivo);
        AudioFileFormat aff;
        AudioInputStream ais;
        try
        {
            aff=AudioSystem.getAudioFileFormat(sf);
            ais=AudioSystem.getAudioInputStream(sf);
            AudioFormat af=aff.getFormat();
            DataLine.Info info = new DataLine.Info(Clip.class,ais.getFormat(),((int) ais.getFrameLength() *af.getFrameSize()));
            Clip  ol = (Clip) AudioSystem.getLine(info);
            ol.open(ais);
            ol.loop(0);
        }
        catch(UnsupportedAudioFileException ee){;}
        catch(IOException ea){;}
        catch(LineUnavailableException LUE){;};
    }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
}

Responder