javax.sound.sampled

Interface Mixer

All Superinterfaces:
AutoCloseable, Line

public interface Mixer
extends Line

A Mixer is a Line which itself holds multiple lines.
Since:
1.3

Nested Class Summary

class
Mixer.Info
An Info object describes a mixer.

Method Summary

Line
getLine(Line.Info info)
Return a Line associated with this Mixer, given its description.
int
getMaxLines(Line.Info info)
Return the number of lines matching this description.
Mixer.Info
getMixerInfo()
Return an Info object describing this Mixer.
Line.Info[]
getSourceLineInfo()
Return an array of Info objects describing all the source lines available in this Mixer.
Line.Info[]
getSourceLineInfo(Line.Info info)
Return an array of Info objects describing all the source lines available in this Mixer, which match the provided decsription.
Line[]
getSourceLines()
Return an array of all the source lines available in this Mixer.
Line.Info[]
getTargetLineInfo()
Return an array of Info objects describing all the target lines available in this Mixer.
Line.Info[]
getTargetLineInfo(Line.Info info)
Return an array of Info objects describing all the target lines available in this Mixer, which match the provided decsription.
Line[]
getTargetLines()
Return an array of all the target lines available in this Mixer.
boolean
isLineSupported(Line.Info info)
Return true if a Line matching the given description is supported by this Mixer, false otherwise.
boolean
isSynchronizationSupported(Line[] lines, boolean sync)
Return true if this Mixer supports synchronization of the given set of lines.
void
synchronize(Line[] lines, boolean sync)
Start synchronization on the given set of lines.
void
unsynchronize(Line[] lines)
Stop synchronization for the given set of lines.

Methods inherited from interface java.lang.AutoCloseable

close

Methods inherited from interface javax.sound.sampled.Line

addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener

Method Details

getLine

public Line getLine(Line.Info info)
            throws LineUnavailableException
Return a Line associated with this Mixer, given its description.
Parameters:
info - the description of the line to find
Returns:
the corresponding Line
Throws:
LineUnavailableException - if no Line matching the description exists in this Mixer

getMaxLines

public int getMaxLines(Line.Info info)
Return the number of lines matching this description.
Parameters:
info - the description of the lines to find.

getMixerInfo

public Mixer.Info getMixerInfo()
Return an Info object describing this Mixer.

getSourceLineInfo

public Line.Info[] getSourceLineInfo()
Return an array of Info objects describing all the source lines available in this Mixer.

getSourceLineInfo

public Line.Info[] getSourceLineInfo(Line.Info info)
Return an array of Info objects describing all the source lines available in this Mixer, which match the provided decsription.
Parameters:
info - the description of the source lines to find

getSourceLines

public Line[] getSourceLines()
Return an array of all the source lines available in this Mixer.

getTargetLineInfo

public Line.Info[] getTargetLineInfo()
Return an array of Info objects describing all the target lines available in this Mixer.

getTargetLineInfo

public Line.Info[] getTargetLineInfo(Line.Info info)
Return an array of Info objects describing all the target lines available in this Mixer, which match the provided decsription.
Parameters:
info - the description of the target lines to find

getTargetLines

public Line[] getTargetLines()
Return an array of all the target lines available in this Mixer.

isLineSupported

public boolean isLineSupported(Line.Info info)
Return true if a Line matching the given description is supported by this Mixer, false otherwise.
Parameters:
info - the description of the line to find

isSynchronizationSupported

public boolean isSynchronizationSupported(Line[] lines,
                                          boolean sync)
Return true if this Mixer supports synchronization of the given set of lines.
Parameters:
lines - the lines to check
sync - true if the synchronization must be accurate at all times

synchronize

public void synchronize(Line[] lines,
                        boolean sync)
Start synchronization on the given set of lines.
Parameters:
lines - the lines to synchronize, or null for all the lines
sync - true if the synchronization must be accurate at all times
Throws:
IllegalArgumentException - if the lines cannot be synchronized

unsynchronize

public void unsynchronize(Line[] lines)
Stop synchronization for the given set of lines.
Parameters:
lines - the lines to unsynchronize, or null for all the lines

Mixers Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath 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 General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.