The following code provides an example of one way to play a sound file using Java. You can download the related image and sound file here:
Important: If you are working with OS X on a Mac, make sure you have downloaded, installed, and made eclipse aware of a JDK that is as new or newer than 1.8 (update 66).
import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import javax.sound.sampled.*; import javax.swing.*; import acm.graphics.GImage; import acm.graphics.GLabel; import acm.program.GraphicsProgram; public class JavaAudioPlaySoundExample extends GraphicsProgram { private final String pathToClip = "/Users/pauloser/Desktop/hal.wav"; private final String pathToImage = "/Users/pauloser/Desktop/hal.jpg"; private final Color backgroundColor = new Color(50,50,50); private JButton playBtn; private boolean soundLoaded; private Clip clip; public void init() { // set background to a dark gray this.setSize(230,300); this.getGCanvas().setBackground(backgroundColor); // put an image and label of the HAL 9000 computer on the canvas GImage halImage = new GImage(pathToImage); halImage.setLocation(11,40); this.add(halImage); GLabel halLabel = new GLabel("HAL 9000"); halLabel.setColor(Color.WHITE); halLabel.setLocation(85,25); this.add(halLabel); // try to load the sound from the file... try { // Open an audio input stream. File file = new File(pathToClip); AudioInputStream audioIn = AudioSystem.getAudioInputStream(file); // Get a sound clip resource, open audio clip, and // load samples from the audio input stream. clip = AudioSystem.getClip(); clip.open(audioIn); soundLoaded = true; } catch (UnsupportedAudioFileException e) { soundLoaded = false; e.printStackTrace(); } catch (IOException e) { soundLoaded = false; e.printStackTrace(); } catch (LineUnavailableException e) { soundLoaded = false; e.printStackTrace(); } // make a button to play sound clip... playBtn = new JButton("Open Pod Bay Doors"); playBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (soundLoaded) { if (clip.isRunning()) clip.stop(); // Stop the player if it is still running clip.setFramePosition(0); // rewind to the beginning clip.start(); // Start playing } }}); this.getRegionPanel(SOUTH).add(playBtn); } }
More information on how to integrate sound into a java program can be found here