Playing audio files in Java


I am trying to play a simple audio file which is in the same directory near the class file. I tried many examples from the internet, but all the others gave me errors which I couldn't even understand.

Then I found this, and I am using it now.

There are neither compile errors nor runtime errors. But the problem is I cannot hear any noise.

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

class A{
    public static void main (String[]args){
        try {
                AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("abc.wav").getAbsoluteFile());
                Clip clip = AudioSystem.getClip();
            } catch(Exception ex) {
                System.out.println("Error with playing sound.");

Please note that my system volume is 80%, and the audio file plays in VLC media player.

Starting the audio clip does not block the main method. So


starts playing and then returns. Now your main method ends and therefore the Java process ends. No sound.

If you do


you should hear the clip playing for 20 seconds.

So for a working program just must make sure that the main thread does not end as long as you want to play the clip.