02
May
09

Reproducir Audio / Sonido en java


Bueno aqui y como pa salir del paso les traigo este ejemple es lo mas sencillo que pude escribir si hago algo mas sencillo se lo paso NO NECESITA SER UN APPLET!!

aquí esta el código usado
aquí los sonidos están en la misma carpeta que el class
pero tu lo hace como quiera
import java.applet.AudioClip;
import javax.swing.JApplet;
import java.io.File;
import java.net.URL;
public class CargarAudioYReproducir{
 public static void main(String a[] ){
  try {
   //archivo de audio
   File f=new File("welcome.wav");
   //lo convertimos a url
   URL u=f.toURL();
   //Bueno de la AudioClip no se puede instancias por eso esto
   AudioClip sonido=JApplet.newAudioClip(u);
   //para que suene
   sonido.play();
   //como el programa se ejecuta muy rapido el audio no se alcanza a escuchar
   Thread.currentThread().sleep(5000);
   //si fuese una ventana no fuese necesario esa linea
  }catch (Exception ex) {
   System.out.println (ex);
  }
 }
}

ahora aquí hay una clase donde encapsule todo este proceso osea en otras palabras más fácil:

import java.applet.AudioClip;
import javax.swing.JApplet;
import java.io.File;
import java.net.URL;
public class Audio {

 private AudioClip clip=null;
 private String dir=null;

 public Audio(AudioClip ac) {
 clip=ac;
 }
public Audio(URL u){
 this(JApplet.newAudioClip(u));
 dir=u.getPath()+" "+u.getFile();
}
public Audio(File f)throws Exception {
 this(f.toURL());
}
public Audio(String d)throws Exception{
 this(new File(d));
}
public static Audio getAudioClip(String d){
 try {
 return new Audio(d);
 }catch (Exception ex) {
 System.out.println (ex);
 }
 return null;
}
public void play(){
 clip.play();
}
public void stop(){
 clip.stop();
}
public void loop(){
 clip.loop();
}
public String toString(){
 return dir+"\n"+clip.toString();
}
}

Descargar


8 Responses to “Reproducir Audio / Sonido en java”


  1. 1 Cristóbal
    octubre 24, 2010 a las 11:47 pm

    Hola, me parece interesante pero por ejemplo yo quiero emitir un sonido de 500Hz con X dB … los dB son medida de intensidad lo cual me daria un sonido con volumen stantar independiente de los parlantes con los cuales reproduzca el sonido, si sabes de algo asi me ayudarias mucho, la verdad es que me estoy defraudando un poco de java, estoy haciendo un trabajo grande y complejo y no he encontrado algunas apis

    saludos

    • octubre 26, 2010 a las 5:39 pm

      bueno, la verdad nunca he hecho algo así, pues ahora ando full ocupado como para ayudarte, no se si la JMF tenga capacidad para eso, pero lo que si estoy seguro es que utilizando directamente las DLL puedes hacerlo.

    • octubre 26, 2010 a las 5:40 pm

      y eso ya no tendría que ver con reproducir un sonido en java, sino llamado de métodos de una DLL, bueno no se que trabajo estas haciendo, pero java es fuerte para todo

  2. 4 Mau
    junio 23, 2012 a las 10:53 pm

    Muchisimas gracias por tu aporte , esta grandioso

  3. 5 Marco Murillo
    noviembre 5, 2012 a las 12:18 pm

    Gracias esto me ayudara mucho

  4. noviembre 19, 2012 a las 8:11 am

    ¿Alguien sabe como reproducir un archivo no desde e principio con un código de tiempo?

  5. 7 Luis Ayala
    febrero 24, 2014 a las 11:29 am

    De donde me podria apoyar o si tienes un codigo de ejemplo en JAVA,para poder realizar una comunicacion entre dos PCs utilizando como medio de comunicacion Internet,esto se va hacer utilizando un microfono por el cual se van a comunicar,se va a enviar audio tanto de el emisor como el receptor,entiendo que se requiere construir un socket,pero ademas de esto quiero añadirle la parte de el audio.


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


I+Ds

Dudas consultas
Facebook
Twiter
Google +

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevas publicaciones por correo.

Únete a otros 348 seguidores

Ingenio DS en Facebook

Redes Sociales y Archivos

Entradas

mayo 2009
L M X J V S D
« Abr   Jun »
 123
45678910
11121314151617
18192021222324
25262728293031

IngenioDS en twiter


A %d blogueros les gusta esto: