001package ca.bc.webarts.tools; 002 003import java.util.*; 004import javax.sound.sampled.*; 005 006public class AudioQueryMixers 007{ 008 public AudioQueryMixers() 009 { } 010 public static void main(String[] args)throws Exception 011 { 012 showMixers(); 013 } 014 public static void showMixers() 015 { 016 017 ArrayList<Mixer.Info> mixInfos = new ArrayList<Mixer.Info>( Arrays.asList (AudioSystem.getMixerInfo ())); 018 Line.Info sourceDLInfo = new Line.Info( SourceDataLine.class); 019 Line.Info targetDLInfo = new Line.Info( TargetDataLine.class); 020 Line.Info clipInfo = new Line.Info(Clip.class); 021 Line.Info portInfo = new Line.Info(Port.class); 022 String support; 023 for (Mixer.Info mixInfo : mixInfos) 024 { 025 Mixer mixer = AudioSystem.getMixer (mixInfo); 026 support = ", supports "; 027 if (mixer.isLineSupported (sourceDLInfo)) 028 { 029 support += "SourceDataLine "; 030 } 031 if (mixer.isLineSupported (clipInfo)) 032 { 033 support += "Clip "; 034 } 035 if (mixer.isLineSupported (targetDLInfo)) 036 { 037 support += "TargetDataLine "; 038 } 039 if (mixer.isLineSupported (portInfo)) 040 { 041 support += "Port "; 042 } 043 System.out.println("Mixer: " + mixInfo.getName() + support + ", " + mixInfo.getDescription ()); 044 } } }