java.lang.Object | |
↳ | com.sun.media.sound.SoftMixingMixer |
Software audio mixer
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | INFO_DESCRIPTION | ||||||||||
String | INFO_NAME | ||||||||||
String | INFO_VENDOR | ||||||||||
String | INFO_VERSION |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
control_mutex | |||||||||||
implicitOpen | |||||||||||
info |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds a listener to this line.
| |||||||||||
Closes the line, indicating that any system resources
in use by the line can be released.
| |||||||||||
Obtains a control of the specified type,
if there is any.
| |||||||||||
Obtains the set of controls associated with this line.
| |||||||||||
Obtains a line that is available for use and that matches the description
in the specified
Line.Info object. | |||||||||||
Obtains the
Line.Info object describing this
line. | |||||||||||
Obtains the approximate maximum number of lines of the requested type that can be open
simultaneously on the mixer.
| |||||||||||
Obtains information about this mixer, including the product's name,
version, vendor, etc.
| |||||||||||
Obtains information about source lines of a particular type supported
by the mixer.
| |||||||||||
Obtains information about the set of source lines supported
by this mixer.
| |||||||||||
Obtains the set of all source lines currently open to this mixer.
| |||||||||||
Obtains information about target lines of a particular type supported
by the mixer.
| |||||||||||
Obtains information about the set of target lines supported
by this mixer.
| |||||||||||
Obtains the set of all target lines currently open from this mixer.
| |||||||||||
Indicates whether the line supports a control of the specified type.
| |||||||||||
Indicates whether the mixer supports a line (or lines) that match
the specified
Line.Info object. | |||||||||||
Indicates whether the line is open, meaning that it has reserved
system resources and is operational, although it might not currently be
playing or capturing sound.
| |||||||||||
Reports whether this mixer supports synchronization of the specified set of lines.
| |||||||||||
Opens the line, indicating that it should acquire any required
system resources and become operational.
| |||||||||||
Removes the specified listener from this line's list of listeners.
| |||||||||||
Synchronizes two or more lines.
| |||||||||||
Releases synchronization for the specified lines.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Adds a listener to this line. Whenever the line's status changes, the
listener's update()
method is called with a LineEvent
object
that describes the change.
listener | the object to add as a listener to this line |
---|
Closes the line, indicating that any system resources
in use by the line can be released. If this operation
succeeds, the line is marked closed and a CLOSE
event is dispatched
to the line's listeners.
Obtains a control of the specified type, if there is any. Some controls may only be available when the line is open.
control | the type of the requested control |
---|
Obtains the set of controls associated with this line. Some controls may only be available when the line is open. If there are no controls, this method returns an array of length 0.
Obtains a line that is available for use and that matches the description
in the specified Line.Info
object.
If a DataLine
is requested, and info
is an instance of DataLine.Info
specifying at
least one fully qualified audio format, the last one
will be used as the default format of the returned
DataLine
.
info | describes the desired line |
---|
LineUnavailableException |
---|
Obtains the Line.Info
object describing this
line.
Obtains the approximate maximum number of lines of the requested type that can be open
simultaneously on the mixer.
Certain types of mixers do not have a hard bound and may allow opening more lines.
Since certain lines are a shared resource, a mixer may not be able to open the maximum
number of lines if another process has opened lines of this mixer.
The requested type is any line that matches the description in
the provided Line.Info
object. For example, if the info
object represents a speaker
port, and the mixer supports exactly one speaker port, this method
should return 1. If the info object represents a source data line
and the mixer supports the use of 32 source data lines simultaneously,
the return value should be 32.
If there is no limit, this function returns AudioSystem.NOT_SPECIFIED
.
info | a Line.Info that describes the line for which
the number of supported instances is queried |
---|
AudioSystem.NOT_SPECIFIED
Obtains information about this mixer, including the product's name, version, vendor, etc.
Obtains information about source lines of a particular type supported by the mixer. Some source lines may only be available when this mixer is open.
info | a Line.Info object describing lines about which information
is queried |
---|
Line.Info
objects describing source lines matching
the type requested. If no matching source lines are supported, an array of length 0
is returned.
Obtains information about the set of source lines supported by this mixer. Some source lines may only be available when this mixer is open.
Line.Info
objects representing source lines
for this mixer. If no source lines are supported,
an array of length 0 is returned.
Obtains the set of all source lines currently open to this mixer.
Obtains information about target lines of a particular type supported by the mixer. Some target lines may only be available when this mixer is open.
info | a Line.Info object describing lines about which information
is queried |
---|
Line.Info
objects describing target lines matching
the type requested. If no matching target lines are supported, an array of length 0
is returned.
Obtains information about the set of target lines supported by this mixer. Some target lines may only be available when this mixer is open.
Line.Info
objects representing target lines
for this mixer. If no target lines are supported,
an array of length 0 is returned.
Obtains the set of all target lines currently open from this mixer.
Indicates whether the line supports a control of the specified type. Some controls may only be available when the line is open.
control | the type of the control for which support is queried |
---|
true
if at least one control of the specified type is
supported, otherwise false
.
Indicates whether the mixer supports a line (or lines) that match
the specified Line.Info
object.
Some lines may only be supported when this mixer is open.
info | describes the line for which support is queried |
---|
true
if at least one matching line is
supported, false
otherwise
Indicates whether the line is open, meaning that it has reserved system resources and is operational, although it might not currently be playing or capturing sound.
true
if the line is open, otherwise false
Reports whether this mixer supports synchronization of the specified set of lines.
lines | the set of lines for which synchronization support is queried |
---|---|
maintainSync | true if the synchronization
must be precisely maintained (i.e., the synchronization must be sample-accurate)
at all times during operation of the lines , or false
if precise synchronization is required only during start and stop operations |
true
if the lines can be synchronized, false
otherwise
Opens the line, indicating that it should acquire any required
system resources and become operational.
If this operation
succeeds, the line is marked as open, and an OPEN
event is dispatched
to the line's listeners.
Note that some lines, once closed, cannot be reopened. Attempts
to reopen such a line will always result in an LineUnavailableException
.
Some types of lines have configurable properties that may affect
resource allocation. For example, a DataLine
must
be opened with a particular format and buffer size. Such lines
should provide a mechanism for configuring these properties, such
as an additional open
method or methods which allow
an application to specify the desired settings.
This method takes no arguments, and opens the line with the current
settings. For
and
SourceDataLine
objects, this means that the line is
opened with default settings. For a TargetDataLine
, however,
the buffer size is determined when data is loaded. Since this method does not
allow the application to specify any data to load, an IllegalArgumentException
is thrown. Therefore, you should instead use one of the Clip
open
methods
provided in the Clip
interface to load data into the Clip
.
For DataLine
's, if the DataLine.Info
object which was used to retrieve the line, specifies at least
one fully qualified audio format, the last one will be used
as the default format.
LineUnavailableException |
---|
Removes the specified listener from this line's list of listeners.
listener | listener to remove |
---|
Synchronizes two or more lines. Any subsequent command that starts or stops audio playback or capture for one of these lines will exert the same effect on the other lines in the group, so that they start or stop playing or capturing data simultaneously.
lines | the lines that should be synchronized |
---|---|
maintainSync | true if the synchronization
must be precisely maintained (i.e., the synchronization must be sample-accurate)
at all times during operation of the lines , or false
if precise synchronization is required only during start and stop operations |
Releases synchronization for the specified lines. The array must
be identical to one for which synchronization has already been
established; otherwise an exception may be thrown. However, null
may be specified, in which case all currently synchronized lines that belong
to this mixer are unsynchronized.
lines | the synchronized lines for which synchronization should be
released, or null for all this mixer's synchronized lines |
---|