package uk.co.mmscomputing.sound; import java.io.*; import javax.sound.sampled.*; public class SoundMixer{ static AudioFormat[] formats={ new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000,16,2,4,8000,false), new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED,8000,16,2,4,8000,false), new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000,16,2,4,8000,true), new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED,8000,16,2,4,8000,true), new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000,16,1,2,8000,false), new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED,8000,16,1,2,8000,false), new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000,16,1,2,8000,true), new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED,8000,16,1,2,8000,true), new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000,8,2,2,8000,false), new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED,8000,8,2,2,8000,false), new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000,8,1,1,8000,true), new AudioFormat(AudioFormat.Encoding.PCM_UNSIGNED,8000,8,1,1,8000,true), new AudioFormat(AudioFormat.Encoding.ALAW,8000,8,1,1,8000,true), new AudioFormat(AudioFormat.Encoding.ULAW,8000,8,1,1,8000,true) }; final private int id; final private Mixer mixer; final private Mixer.Info info; public SoundMixer(int id, Mixer.Info info){ this.id=id; this.info=info; this.mixer=AudioSystem.getMixer(info); } public int getId(){ return id; } public String getName(){ return /*""+id+" "+*/mixer.getMixerInfo().getName(); }; public Mixer.Info getMixerInfo(){return info;} public String toString(){ Mixer.Info info=mixer.getMixerInfo(); String s="\nMixer ["+id+"]"; s+="\n\t Name: "+info.getName(); s+="\n\t Desc: "+info.getDescription(); s+="\n\t Ven : "+info.getVendor(); s+="\n\t Ver : "+info.getVersion(); s+="\n\t Str : "+info.toString(); Line.Info[] infos=mixer.getSourceLineInfo(); s+="\n\nSourceLine count : "+infos.length; for(int i=0;i