package uk.co.mmscomputing.device.capi.samples; import java.io.*; import javax.sound.sampled.AudioFormat; import uk.co.mmscomputing.sound.*; import uk.co.mmscomputing.device.capi.sound.*; public class Raw2WaveConverter{ static public final AudioFormat pcmformat = new AudioFormat(8000,16,1,true,false); static public final AudioFormat alawformat= new AudioFormat(AudioFormat.Encoding.ALAW,8000,8,1,1,8000,false); static public final AudioFormat ulawformat= new AudioFormat(AudioFormat.Encoding.ULAW,8000,8,1,1,8000,false); public static void main(String[] argv){ try{ WaveOutputFile out;InputStream in; in=new FileInputStream("uk/co/mmscomputing/device/capi/samples/capture.raw"); in=new PCMInputStream(in,true); out=new WaveOutputFile("uk/co/mmscomputing/device/capi/samples/capturePCM.wav",pcmformat); int count=0; byte[] buffer=new byte[2048]; while((count=in.read(buffer))>0){ out.write(buffer,0,count); } out.close(); in=new FileInputStream("uk/co/mmscomputing/device/capi/samples/capturePCM.wav"); for(int i=0;i<58;i++){ int b = in.read(); System.err.println("["+i+"] "+b+" 0x"+Integer.toHexString(b)+" "+(char)b); } in.close(); }catch(Exception e){ System.err.println(e.getMessage()); } try{ WaveOutputFile out;InputStream in; in=new FileInputStream("uk/co/mmscomputing/device/capi/samples/capture.raw"); in=new LawInputStream(in); out=new WaveOutputFile("uk/co/mmscomputing/device/capi/samples/captureALaw.wav",alawformat); int count=0; byte[] buffer=new byte[2048]; while((count=in.read(buffer))>0){ out.write(buffer,0,count); } out.close(); }catch(Exception e){ System.err.println(e.getMessage()); } try{ WaveOutputFile out;InputStream in; in=new FileInputStream("uk/co/mmscomputing/device/capi/samples/capture.raw"); in=new LawInputStream(in); in=new ConvertInputStream(in,true); out=new WaveOutputFile("uk/co/mmscomputing/device/capi/samples/captureuLaw.wav",ulawformat); int count=0; byte[] buffer=new byte[2048]; while((count=in.read(buffer))>0){ out.write(buffer,0,count); } out.close(); }catch(Exception e){ System.err.println(e.getMessage()); } } }