public static void play(String fileName, boolean loop)
  {
    //Stores the audio file for accessing
    File file = new File(fileName); 
    //Create an Input Stream (can't initialize it here cause java is dumb with exception handleing)
    AudioInputStream stream = null;
   //We'll need to know the format of the file later.
    AudioFormat format;  
    //Get a suitible audio stream
    try
    {
      stream = AudioSystem.getAudioInputStream(file);
    }
    catch (Exception e)
    {
      e.printStackTrace();
      System.exit(0);
    }
    //find out the format of our stream
    format = stream.getFormat();
    //The DataLine.Info helps get us a clip from the AudioEngine with the right info (Hence the name aparently)
    DataLine.Info info = new DataLine.Info(Clip.class,format);
    try
    {
      //Get a clip
      clip = (Clip)AudioSystem.getLine(info);
      //Open a stream on the sound card.
      clip.open(stream);
    }
    catch(Exception e)
    {
      System.err.println("There was an error obtaining a Clip line!");
    }
    if (loop)
      clip.loop(Clip.LOOP_CONTINUOUSLY);
    else
      clip.start();
  }