Continuously Playing a Sampled Audio File - Java Media

Java examples for Media:Audio

Description

Continuously Playing a Sampled Audio File

Demo Code

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class Main {
  public static void main(String[] argv) {
    try {/*from   ww w  . j  a v  a2  s.  c o  m*/
      AudioInputStream stream = AudioSystem.getAudioInputStream(new File("audiofile"));
      stream = AudioSystem.getAudioInputStream(new URL("http://hostname/audiofile"));

      AudioFormat format = stream.getFormat();
      if (format.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {
        format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,
            format.getSampleRate(), format.getSampleSizeInBits() * 2,
            format.getChannels(), format.getFrameSize() * 2,
            format.getFrameRate(), true); // big endian
        stream = AudioSystem.getAudioInputStream(format, stream);
      }

      // Create the clip
      DataLine.Info info = new DataLine.Info(Clip.class, stream.getFormat(),
          ((int) stream.getFrameLength() * format.getFrameSize()));
      Clip clip = (Clip) AudioSystem.getLine(info);

      // This method does not return until the audio file is completely loaded
      clip.open(stream);
      // Play once
      clip.start();

      // Play and loop forever
      clip.loop(Clip.LOOP_CONTINUOUSLY);

      // Play and repeat for a certain number of times
      int numberOfPlays = 3;
      clip.loop(numberOfPlays - 1);
      // Start playing
      clip.start();
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    } catch (LineUnavailableException e) {
    } catch (UnsupportedAudioFileException e) {
    }
  }

}

Related Tutorials