javax.sound.sampled
Interface Mixer

All Superinterfaces:
Line

public interface Mixer
extends Line

A Mixer is a Line which itself holds multiple lines.

Since:
1.3

Nested Class Summary
static 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 javax.sound.sampled.Line
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener
 

Method Detail

getLine

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

int getMaxLines(Line.Info info)
Return the number of lines matching this description.

Parameters:
info - the description of the lines to find.

getMixerInfo

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


getSourceLineInfo

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


getSourceLineInfo

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

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


getTargetLineInfo

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


getTargetLineInfo

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

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


isLineSupported

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

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

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

void unsynchronize(Line[] lines)
Stop synchronization for the given set of lines.

Parameters:
lines - the lines to unsynchronize, or null for all the lines