Saltar al contenido

¿Cómo puedo reproducir sonido en Java?

Posterior a indagar en varios repositorios y foros de internet al final hemos hallado la respuesta que te mostraremos a continuación.

Solución:

Escribí el siguiente código que funciona bien. Pero creo que solo funciona con .wav formato.

public static synchronized void playSound(final String url) 
  new Thread(new Runnable() 
  // The wrapper thread is unnecessary, unless it blocks on the
  // Clip finishing; see comments.
    public void run() 
      try 
        Clip clip = AudioSystem.getClip();
        AudioInputStream inputStream = AudioSystem.getAudioInputStream(
          Main.class.getResourceAsStream("/path/to/sounds/" + url));
        clip.open(inputStream);
        clip.start(); 
       catch (Exception e) 
        System.err.println(e.getMessage());
      
    
  ).start();

Un mal ejemplo:

import  sun.audio.*;    //import the sun.audio package
import  java.io.*;

//** add this into your application code as appropriate
// Open an input stream  to the audio file.
InputStream in = new FileInputStream(Filename);

// Create an AudioStream object from the input stream.
AudioStream as = new AudioStream(in);         

// Use the static class member "player" from class AudioPlayer to play
// clip.
AudioPlayer.player.start(as);            

// Similarly, to stop the audio.
AudioPlayer.player.stop(as); 

No quería tener tantas líneas de código solo para reproducir un maldito sonido simple. Esto puede funcionar si tiene el paquete JavaFX (ya incluido en mi jdk 8).

private static void playSound(String sound)
    // cl is the ClassLoader for the current class, ie. CurrentClass.class.getClassLoader();
    URL file = cl.getResource(sound);
    final Media media = new Media(file.toString());
    final MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.play();

Aviso: debe inicializar JavaFX. Una forma rápida de hacerlo es llamar al constructor de JFXPanel() una vez en su aplicación:

static
    JFXPanel fxPanel = new JFXPanel();

Valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *