Java examples for javax.sound.sampled:Audio
get Available Audio Input Lines
/*//from w w w. j a v a 2 s.c o m * Copyright 2011 Witoslaw Koczewsi <wi@koczewski.de> * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero * General Public License as published by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public * License for more details. * * You should have received a copy of the GNU Affero General Public License along with this program. If not, * see <http://www.gnu.org/licenses/>. */ //package com.java2s; import java.util.ArrayList; import java.util.List; import javax.sound.sampled.Line; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.Mixer; public class Main { public static List<Line> getAvailableInputLines(Mixer mixer) { return getAvailableLines(mixer, mixer.getSourceLineInfo()); } 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; } } }