import javax.sound.sampled.*; /** * * @author fali */ public class AudioTest { /** Creates a new instance of AudioTest */ public AudioTest() { } private static void playAudioFile(String fileName, int device) throws UnsupportedAudioFileException, LineUnavailableException, java.io.IOException { long beginTime = System.currentTimeMillis(); System.out.println("checking for available devices on this system..."); Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo(); for (int i=0; i=0) { bytesRead = audioInputStream.read(buf); if (bytesRead>0) { sourceDataLine.write(buf, 0, bytesRead); } } sourceDataLine.stop(); sourceDataLine.close(); audioInputStream.close(); } public static void main(String[] args) { try { if (args.length==0) { System.err.println("first argument has to be an audio file."); System.exit(-1); } String fileName = args[0]; int device = 0; if (args.length==2) { device = Integer.parseInt(args[1]); } playAudioFile(fileName, device); } catch (Exception e) { e.printStackTrace(); } } }