for (int ii=0; ii<mixerData.length; ii++) { mixerData[ii][0] = mixerInfo[ii].getName(); mixerData[ii][1] = mixerInfo[ii].getVendor(); mixerData[ii][2] = mixerInfo[ii].getVersion(); mixerData[ii][3] = mixerInfo[ii].getDescription();
public void init(AudioFormat format) { DataLine.Info dataLineInfo = new DataLine.Info( SourceDataLine.class, format); if (!AudioSystem.isLineSupported(dataLineInfo)) { System.out.println("EEEEEEEERRRRRRRRRROOOOOOOOORRRRR!!!!!!!!"); return; } System.out.println("Format = " + dataLineInfo); try { for (Mixer.Info mi : AudioSystem.getMixerInfo()) { System.out.println("Encodig = " + mi.getName()); System.out.println("\t" + mi.getDescription()); System.out.println("\t" + mi.getVendor()); System.out.println("\t" + mi.getVersion()); } sourceDataLine = getSourceDataLine(dataLineInfo); System.out.println("Open"); sourceDataLine.open(format); System.out.println("Start sourceDataLine = " + sourceDataLine.getLineInfo()); sourceDataLine.start(); setMaxGain(); setMaxVolume(); } catch (LineUnavailableException ex) { Logger.getLogger(PCSpeaker.class.getName()).log(Level.SEVERE, null, ex); } }
public static void main(String[] args) { // A recordable line is a target data line Line.Info targetDataType = new Line.Info(TargetDataLine.class); // Get available mixers Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo(); for (Mixer.Info mi : mixerInfos) { // May throw SecurityException Mixer mixer = AudioSystem.getMixer(mi); // No use if cannot record from it if (!mixer.isLineSupported(targetDataType)) { continue; } System.out.println("\nname= " + mi.getName()); System.out.println("desc= " + mi.getDescription()); System.out.println("vers= " + mi.getVersion()); System.out.println("vend= " + mi.getVendor()); } }
for (int ii=0; ii<mixerData.length; ii++) { mixerData[ii][0] = mixerInfo[ii].getName(); mixerData[ii][1] = mixerInfo[ii].getVendor(); mixerData[ii][2] = mixerInfo[ii].getVersion(); mixerData[ii][3] = mixerInfo[ii].getDescription();
@Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); Mixer.Info mi = (Mixer.Info) value; if (mi != null) { String text = mi.getName(); if (!"Unknown Version".equals(mi.getVersion())) { text += ' ' + mi.getVersion(); } if (!"Unknown Vendor".equals(mi.getVendor())) { text += " by " + mi.getVendor(); } setText(text); } return component; } }
import javax.sound.sampled.*; public class ListDevices { public static void main(final String... args) throws Exception { for (final Mixer.Info info : AudioSystem.getMixerInfo()) System.out.format("%s: %s %s %s %s%n", info, info.getName(), info.getVendor(), info.getVersion(), info.getDescription()); } }