public static class DataLine.Info extends Line.Info
DataLine.Info
provides additional information specific to data lines.
This information includes:
Line.Info
knows the class of the line its describes, a
DataLine.Info
object can describe DataLine
subinterfaces such as SourceDataLine
,
TargetDataLine
, and Clip
.
You can query a mixer for lines of any of these types, passing an appropriate
instance of DataLine.Info
as the argument to a method such as
Mixer.getLine(Line.Info)
.Line.Info
Constructor and Description |
---|
Info(Class<?> lineClass,
AudioFormat format)
Constructs a data line's info object from the specified information,
which includes a single audio format.
|
Info(Class<?> lineClass,
AudioFormat[] formats,
int minBufferSize,
int maxBufferSize)
Constructs a data line's info object from the specified information,
which includes a set of supported audio formats and a range for the buffer size.
|
Info(Class<?> lineClass,
AudioFormat format,
int bufferSize)
Constructs a data line's info object from the specified information,
which includes a single audio format and a desired buffer size.
|
Modifier and Type | Method and Description |
---|---|
AudioFormat[] |
getFormats()
Obtains a set of audio formats supported by the data line.
|
int |
getMaxBufferSize()
Obtains the maximum buffer size supported by the data line.
|
int |
getMinBufferSize()
Obtains the minimum buffer size supported by the data line.
|
boolean |
isFormatSupported(AudioFormat format)
Indicates whether this data line supports a particular audio format.
|
boolean |
matches(Line.Info info)
Determines whether the specified info object matches this one.
|
String |
toString()
Obtains a textual description of the data line info.
|
getLineClass
public Info(Class<?> lineClass, AudioFormat[] formats, int minBufferSize, int maxBufferSize)
lineClass
- the class of the data line described by the info objectformats
- set of formats supportedminBufferSize
- minimum buffer size supported by the data line, in bytesmaxBufferSize
- maximum buffer size supported by the data line, in bytespublic Info(Class<?> lineClass, AudioFormat format, int bufferSize)
lineClass
- the class of the data line described by the info objectformat
- desired formatbufferSize
- desired buffer size in bytespublic Info(Class<?> lineClass, AudioFormat format)
lineClass
- the class of the data line described by the info objectformat
- desired formatpublic AudioFormat[] getFormats()
isFormatSupported(AudioFormat)
might return
true
for certain additional formats that are missing from
the set returned by getFormats()
. The reverse is not
the case: isFormatSupported(AudioFormat)
is guaranteed to return
true
for all formats returned by getFormats()
.
Some fields in the AudioFormat instances can be set to
NOT_SPECIFIED
if that field does not apply to the format,
or if the format supports a wide range of values for that field.
For example, a multi-channel device supporting up to
64 channels, could set the channel field in the
AudioFormat
instances returned by this
method to NOT_SPECIFIED
.isFormatSupported(AudioFormat)
public boolean isFormatSupported(AudioFormat format)
true
if
the specified format matches any of the supported formats.format
- the audio format for which support is queried.true
if the format is supported, otherwise false
getFormats()
,
AudioFormat.matches(javax.sound.sampled.AudioFormat)
public int getMinBufferSize()
AudioSystem.NOT_SPECIFIED
public int getMaxBufferSize()
AudioSystem.NOT_SPECIFIED
public boolean matches(Line.Info info)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.