import java.io.IOException; import java.io.File; import javax.sound.sampled.AudioFileFormat; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import org.tritonus.share.sampled.AudioFileTypes; import org.tritonus.share.sampled.Encodings; public class AudioDecoder { public static void main(String[] args) { if (args.length != 2) { printUsageAndExit(); } File encodedFile = new File(args[0]); File pcmFile = new File(args[1]); AudioInputStream ais = null; try { ais = AudioSystem.getAudioInputStream(encodedFile); System.out.println(ais.getFormat()); } catch (Exception e) { e.printStackTrace(); } if (ais == null) { System.out.println("cannot open audio file"); System.exit(1); } AudioFormat.Encoding targetEncoding = AudioFormat.Encoding.PCM_SIGNED; AudioInputStream pcmAIS = AudioSystem.getAudioInputStream(targetEncoding, ais); System.out.println(pcmAIS.getFormat()); AudioFileFormat.Type fileType = AudioFileFormat.Type.AU; int nWrittenFrames = 0; try { nWrittenFrames = AudioSystem.write(pcmAIS, fileType, pcmFile); } catch (IOException e) { e.printStackTrace(); } } private static void printUsageAndExit() { System.out.println("AudioDecoder: usage:"); System.out.println("\tjava AudioDecoder "); System.exit(1); } } /*** AudioDecoder.java ***/