See in English
Para colocar sonido a nuestra aplicación de escritorio en java, tenemos a nuestra disposición varias alternativas, sin embargo yo he hecho una clase sencilla para esa labor, la cual me ha servido para muchos proyectos.
Dicha clase es la siguiente:
public class hiloSonido extends Thread{ private Clip sonido; private boolean seguir; public hiloSonido(String rutaArchivo){ seguir=true; try { sonido = AudioSystem.getClip(); sonido.open(AudioSystem.getAudioInputStream(new File(rutaArchivo))); } catch (UnsupportedAudioFileException ex) { Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex); } catch (LineUnavailableException ex) { Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex); } } @Override public void run(){ sonido.start(); // Espera mientras se esté reproduciendo. do{ try { Thread.sleep(500); } catch (InterruptedException ex) { Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex); } }while (seguir && sonido.isActive()); if(sonido.isActive()){ sonido.stop(); } // Se cierra el clip. sonido.close(); } public void parar(){ seguir=false; } }
Para utilizar esta clase solo debemos hacer algo similar o igual a lo siguiente:
//... // Ejemplo de ruta en Windows: C:\ruta\archivo_de_audio.wav // Ejemplo de ruta en Linux: /home/usuario/archivo_de_audio.wav hiloSonido obj = new hiloSonido("/home/usuario/archivo_de_audio.wav"); obj.start(); //...
No hay comentarios:
Publicar un comentario