Java examples for javax.sound.sampled:Audio
get Audio Mixer Master Output Line
//package com.java2s; import java.util.ArrayList; import java.util.List; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Line; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.Mixer; import javax.sound.sampled.Mixer.Info; public class Main { public static void main(String[] argv) throws Exception { System.out.println(getMasterOutputLine()); }//from ww w . java 2 s . c o m public static Line getMasterOutputLine() { for (Mixer mixer : getMixers()) { for (Line line : getAvailableOutputLines(mixer)) { if (line.getLineInfo().toString().contains("Master")) return line; } } return null; } public static List<Mixer> getMixers() { Info[] infos = AudioSystem.getMixerInfo(); List<Mixer> mixers = new ArrayList<Mixer>(infos.length); for (Info info : infos) { Mixer mixer = AudioSystem.getMixer(info); mixers.add(mixer); } return mixers; } public static List<Line> getAvailableOutputLines(Mixer mixer) { return getAvailableLines(mixer, mixer.getTargetLineInfo()); } public static String toString(Line line) { if (line == null) return null; Line.Info info = line.getLineInfo(); return info.toString();// + " (" + line.getClass().getSimpleName() + ")"; } private static List<Line> getAvailableLines(Mixer mixer, Line.Info[] lineInfos) { List<Line> lines = new ArrayList<Line>(lineInfos.length); for (Line.Info lineInfo : lineInfos) { Line line; line = getLineIfAvailable(mixer, lineInfo); if (line != null) lines.add(line); } return lines; } public static Line getLineIfAvailable(Mixer mixer, Line.Info lineInfo) { try { return mixer.getLine(lineInfo); } catch (LineUnavailableException ex) { return null; } } }