001package ca.bc.webarts.tools;
002
003//import javax.sound.sampled.*;
004import javax.sound.sampled.AudioFormat;
005import javax.sound.sampled.AudioSystem;
006import javax.sound.sampled.Line;
007import javax.sound.sampled.DataLine;
008import javax.sound.sampled.SourceDataLine;
009import javax.sound.sampled.Mixer;
010
011public class AudioDeviceInfo
012{
013
014  public static void main(String[] args) throws Exception
015  {
016
017    Mixer.Info[] minfoSet = AudioSystem.getMixerInfo();
018    System.out.println("Mixers:");
019    for (Mixer.Info minfo : minfoSet)
020    {
021      System.out.println("   " + minfo.toString());
022
023      Mixer m = AudioSystem.getMixer(minfo);
024      System.out.print("    Mixer: " + m.toString());
025      System.out.println("  ( " + m.getMixerInfo().getDescription()+" )");
026      System.out.println("      Source lines");
027
028      Line.Info[] slines = m.getSourceLineInfo();
029      DataLine tmpLine = null;
030      for (Line.Info srcLineInfo : slines)
031      {
032        System.out.print("        " + srcLineInfo.toString());
033        System.out.println("  ( " + srcLineInfo.getLineClass().getName()+" )");
034        tmpLine = (DataLine) m.getLine(srcLineInfo);
035        System.out.println("            - "+tmpLine.getFormat().toString());
036      }
037
038      Line.Info[] tlines = m.getTargetLineInfo();
039      System.out.println("      Target lines");
040      for (Line.Info t : tlines)
041      {
042        System.out.print("        " + t.toString());
043        System.out.println("  ( " + t.getLineClass().getName()+" )");
044      }
045
046      System.out.println();
047
048    }
049  }
050}