Refine search
soundNode.add(soundSampledNode); md = new MediaData("Suffixes", "Sound File Suffixes", AudioSystem.getAudioFileTypes()); soundSampledNode.add(new DefaultMutableTreeNode(md)); Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); String[][] mixerData = new String[mixerInfo.length][4]; 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(); Mixer mixer = AudioSystem.getMixer(mixerInfo[ii]); data = mergeArrays( "Source", mixer.getSourceLineInfo(), "Target", mixer.getTargetLineInfo() ); columnNames = new String[]{ "Input/Output", "Line Info" }; md = new MediaData(mixerInfo[ii].getName(), columnNames, data); DefaultMutableTreeNode soundSampledMixerNode = new DefaultMutableTreeNode(md); soundSampledMixersNode.add( soundSampledMixerNode ); Line.Info[] source = mixer.getSourceLineInfo(); Line.Info[] target = mixer.getTargetLineInfo(); Line[] all = new Line[source.length + target.length];
if (!AudioSystem.isLineSupported(info)) line = (TargetDataLine) AudioSystem.getLine(info); for(Mixer.Info infos : AudioSystem.getMixerInfo()){ System.out.println(infos.toString());
/** * Returns a Java sound line for the given device name. Use * {@link AudioDevice#deviceName} as input to this method. Use * {@link AudioUtils#getDevices()} to get an {@link AudioDevice} object. * * @param deviceName The device name. * @param af The format * @return A Java sound line. * @throws LineUnavailableException */ static public SourceDataLine getJavaOutputLine( final String deviceName, final AudioFormat af ) throws LineUnavailableException { final Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); for( final Mixer.Info info: mixerInfo ) { if( info.getName().equals( deviceName ) ) { final Mixer m = AudioSystem.getMixer(info); if( m.getSourceLineInfo().length > 0 ) return (SourceDataLine)AudioSystem.getLine( m.getSourceLineInfo()[0] ); } } return null; }
/** * List Mixers. Only Mixers that support either TargetDataLines or SourceDataLines are listed, depending on the value of * bPlayback. * * @param bPlayback * bPlayback */ public static void listMixersAndExit(boolean bPlayback) { out("Available Mixers:"); Mixer.Info[] aInfos = AudioSystem.getMixerInfo(); for (int i = 0; i < aInfos.length; i++) { Mixer mixer = AudioSystem.getMixer(aInfos[i]); Line.Info lineInfo = new Line.Info(bPlayback ? SourceDataLine.class : TargetDataLine.class); if (mixer.isLineSupported(lineInfo)) { out(aInfos[i].getName()); } } if (aInfos.length == 0) { out("[No mixers available]"); } System.exit(0); }
Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); //get available mixers System.out.println("Available mixers:"); for (int cnt = 0; cnt < mixerInfo.length; cnt++) { System.out.println(mixerInfo[cnt].getName()); Mixer mixer = AudioSystem.getMixer(mixerInfo[3]); //getting the mixer for capture device targetDataLine = (TargetDataLine) mixer.getLine(dataLineInfo); targetDataLine.open(audioFormat); targetDataLine.start(); sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo1); sourceDataLine.open(audioFormat); sourceDataLine.start();
private static void listTargetDataLines() { out("Available Mixers:"); Mixer.Info[] aInfos = AudioSystem.getMixerInfo(); for (int i = 0; i < aInfos.length; i++) { Mixer mixer = AudioSystem.getMixer(aInfos[i]); // mixer.open(); Line.Info[] lines = mixer.getTargetLineInfo(); out(aInfos[i].getName()); for (int j = 0; j < lines.length; j++) { out(" " + lines[j].toString()); if (lines[j] instanceof DataLine.Info) { AudioFormat[] formats = ((DataLine.Info) lines[j]).getFormats(); for (int k = 0; k < formats.length; k++) { out(" " + formats[k].toString()); } } } } }
private SourceDataLine getSourceDataLine(DataLine.Info dataLineInfo) { SourceDataLine sdl = null; for (Mixer.Info mi : AudioSystem.getMixerInfo()) { Mixer m = AudioSystem.getMixer(mi); if (m.isLineSupported(dataLineInfo)) { try { Line line = m.getLine(dataLineInfo); if (line instanceof SourceDataLine) { Logger.getLogger( PCSpeaker.class.getName()).log(Level.INFO, "Mixer={0}", m.getMixerInfo().getName()); sdl = (SourceDataLine) line; break; } } catch (LineUnavailableException ex) { Logger.getLogger(PCSpeaker.class.getName()).log(Level.SEVERE, null, ex); } } } return sdl; }
javax.sound.sampled.Mixer.Info[] mixers = AudioSystem.getMixerInfo(); System.out.println("There are " + mixers.length + " mixer info objects"); for(int i=0;i<mixers.length;i++){ Mixer.Info mixerInfo = mixers[i]; System.out.println("Mixer Name:"+mixerInfo.getName()); Mixer mixer = AudioSystem.getMixer(mixerInfo); Line.Info[] lineinfos = mixer.getTargetLineInfo(); for(Line.Info lineinfo : lineinfos){ System.out.println("line:" + lineinfo); try { Line line = mixer.getLine(lineinfo); line.open(); if(line.isControlSupported(FloatControl.Type.VOLUME)){
/** * TODO: This method tries to return a Mixer.Info whose name matches the passed name. If no matching Mixer.Info is found, null * is returned. * * @param strMixerName * str mixer name * @return aInfos[i] */ public static Mixer.Info getMixerInfo(String strMixerName) { Mixer.Info[] aInfos = AudioSystem.getMixerInfo(); for (int i = 0; i < aInfos.length; i++) { if (aInfos[i].getName().equals(strMixerName)) { return aInfos[i]; } } return null; }
private static void dumpMixers() { Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); for (int i = 0; i < mixerInfo.length; i++) { Mixer mixer = AudioSystem.getMixer(mixerInfo[i]); System.out.println("Mixer[" + i + "]: \"" + mixerInfo[i].getName() + '\"'); System.out.println(" Description: " + mixerInfo[i].getDescription()); System.out.println(" SourceLineInfo (e.g., speakers):"); dumpLineInfo(" ", mixer.getSourceLineInfo()); System.out.println(" TargetLineInfo (e.g., microphones):"); dumpLineInfo(" ", mixer.getTargetLineInfo()); } }
JPanel gui = new JPanel(new GridLayout(0,1)); Mixer.Info[] mixers = AudioSystem.getMixerInfo(); System.out.println( "There are " + mixers.length + " mixer info objects"); for (Mixer.Info mixerInfo : mixers) { System.out.println("mixer name: " + mixerInfo.getName()); Mixer mixer = AudioSystem.getMixer(mixerInfo); Line.Info[] lineInfos = mixer.getSourceLineInfo(); for (Line.Info lineInfo : lineInfos) { System.out.println(" Line.Info: " + lineInfo); try { Line line = mixer.getLine(lineInfo); FloatControl volCtrl = (FloatControl)line.getControl( FloatControl.Type.MASTER_GAIN);
lines = AudioSystem.getMixerInfo(); inInfo = new DataLine.Info(TargetDataLine.class, format); bufferSize = (int) format.getSampleRate() * format.getFrameSize(); System.out.println(i+": "+lines[i].getName()+"\n"+lines[i].getDescription()); inputLine = (TargetDataLine)AudioSystem.getMixer(lines[line]).getLine(inInfo); inputLine.open(format, bufferSize); inputLine.start(); System.out.println("Listening on line " +line+", " + lines[line].getName() + "...");
public static void setDeviceName(String name) { if (mixerName != null && mixerName.equals(name)) { return; } mixerName = name; if (name == null || name.isEmpty()) { mixer = null; LOGGER.info("Set to default sound device"); return; } for (Mixer.Info info : AudioSystem.getMixerInfo()) { if (info.getName().equals(name)) { mixer = AudioSystem.getMixer(info); LOGGER.info("Set sound device to "+name); return; } } mixer = null; LOGGER.info("Could not find sound device "+name); }
mixerInfo.getName() + "'" , this ); mixerInfo.getName() + "'" , this ); throw new LibraryJavaSound.Exception( "No possible " + "sample-rate found for Mixer '" + mixerInfo.getName() + "'" , this ); "to an actual Clip... " + "Mixer '" + mixerInfo.getName() + "' is unuseable.", this ); throw new LibraryJavaSound.Exception( "No output " + "lines possible for Mixer '" + mixerInfo.getName() + "'" , this ); else if( LINE_COUNT_PRIORITY == HIGH ) throw new LibraryJavaSound.Exception( "Specified " + "maximum number of lines not possible for Mixer '" + mixerInfo.getName() + "'" , this ); break; throw new LibraryJavaSound.Exception( "Gain control " + "not available for Mixer '" + mixerInfo.getName() + "'" , this ); throw new LibraryJavaSound.Exception( "Pan control " + "not available for Mixer '" + mixerInfo.getName() + "'" , this );
public static List<String> getDeviceNames() { List<String> result = new ArrayList<>(); try { for (Mixer.Info info : AudioSystem.getMixerInfo()) { for (Line.Info info2 : AudioSystem.getMixer(info).getSourceLineInfo()) { if (info2.getLineClass() == Clip.class) { result.add(info.getName()); } } } } catch (Exception ex) { LOGGER.warning("Error getting list of sound devices: "+ex); } return result; }
/** * Get the MixerInfo based on the mixer name * @param mixerName * @return */ public Mixer.Info getMixerInfo(String mixerName){ Mixer.Info mixers[]=AudioSystem.getMixerInfo(); //iterate the mixers and display TargetLines for (int i=0; i< mixers.length; i++){ Mixer m=AudioSystem.getMixer(mixers[i]); // Ensure that only sound capture devices can be selected boolean isCaptureDevice=m.getMixerInfo().getDescription().endsWith("Capture"); if ((m.getMixerInfo().getName().equals(mixerName))&&(isCaptureDevice==true)){ return m.getMixerInfo(); } } //if no mixer found, returns null which is the default mixer on the machine return null; }
Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo(); for (Mixer.Info info: mixerInfos){ Mixer m = AudioSystem.getMixer(info); Line.Info[] lineInfos = m.getSourceLineInfo(); for (Line.Info lineInfo:lineInfos){ System.out.println (info.getName()+"---"+lineInfo); Line line = m.getLine(lineInfo); System.out.println("\t-----"+line); } lineInfos = m.getTargetLineInfo(); for (Line.Info lineInfo:lineInfos){ System.out.println (m+"---"+lineInfo); Line line = m.getLine(lineInfo); System.out.println("\t-----"+line); } }
DataLine.Info info = new DataLine.Info(SourceDataLine.class, fmt, BUFFER_SIZE); logger.fine("Dataline info: " + info); if (mixer != null && mixer.isLineSupported(info)) { line = (SourceDataLine) mixer.getLine(info); logger.fine("Mixer: " + mixer.getMixerInfo().getDescription()); } else { line = AudioSystem.getSourceDataLine(fmt); mixer = null;
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); } }
try { Mixer targetMixer = AudioSystem.getMixer(mixerInfo); targetMixer.open(); if (targetMixer.isLineSupported(targetDataLineInfo)) { System.out.println(mixerInfo.getName() + " supports recording @" + af); if ((port_string + mixerInfo.getName()).equals(mifo.getName())) { System.out.println("Matched Port to Mixer:" + mixerInfo.getName()); Mixer portMixer = AudioSystem.getMixer(mifo); portMixer.open(); portMixer.isLineSupported((Line.Info) myInputType);