Java examples for javax.sound.sampled:Audio
get Compatible Audio Mixers
/**//from ww w. ja v a 2 s.c om * File AudioUtil.java * --------------------------------------------------------- * * Copyright (C) 2012 Martin Braun (martinbraun123@aol.com), (c) 1999 - 2001 by Matthias Pfisterer * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * * - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. * - The origin of the software must not be misrepresented. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * TL;DR: As long as you clearly give me credit for this Software, you are free to use as you like, even in commercial software, but don't blame me * if it breaks something. */ //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.Mixer; import javax.sound.sampled.Mixer.Info; public class Main { public static void main(String[] argv) throws Exception { Class pLineClass = String.class; System.out.println(getCompatibleMixers(pLineClass)); } public static List<Mixer> getCompatibleMixers( Class<? extends Line> pLineClass) { Line.Info lineInfo = new Line.Info(pLineClass); Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); List<Mixer> ret = new ArrayList<>(); for (Mixer.Info info : mixerInfo) { Mixer current = AudioSystem.getMixer(info); if (current.isLineSupported(lineInfo)) { ret.add(current); } } return ret; } /** * @return a mixer info object belonging to the Mixer named as pMixerName or * null if not found */ public static Mixer.Info getMixerInfo(String pMixerName) { Mixer.Info[] ret = AudioSystem.getMixerInfo(); for (Info element : ret) { if (element.getName().equals(pMixerName)) { return element; } } return null; } }