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}