java.lang.Object
javax.sound.sampled.Line.Info
javax.sound.sampled.DataLine.Info
- 封装的接口:
-
DataLine
除了从其超类继承的类信息外,
DataLine.Info还提供了特定于数据线的附加信息。这些信息包括:
- 数据线支持的音频格式
- 其内部缓冲区的最小和最大大小
Line.Info知道其描述的线的类,因此DataLine.Info对象可以描述DataLine子接口,如SourceDataLine、TargetDataLine和Clip。您可以查询混音器以获取任何这些类型的线,将适当的DataLine.Info实例作为参数传递给诸如Mixer.getLine(Line.Info)之类的方法。
- 自版本:
- 1.3
- 参见:
-
Constructor Summary
ConstructorsConstructorDescriptionInfo(Class<?> lineClass, AudioFormat format) 从指定信息构造数据线的信息对象,其中包括单个音频格式。Info(Class<?> lineClass, AudioFormat[] formats, int minBufferSize, int maxBufferSize) 从指定信息构造数据线的信息对象,其中包括一组支持的音频格式和缓冲区大小的范围。Info(Class<?> lineClass, AudioFormat format, int bufferSize) 从指定信息构造数据线的信息对象,其中包括单个音频格式和所需的缓冲区大小。 -
Method Summary
Modifier and TypeMethodDescription获取数据线支持的音频格式集。int获取数据线支持的最大缓冲区大小。int获取数据线支持的最小缓冲区大小。booleanisFormatSupported(AudioFormat format) 指示此数据线是否支持特定音频格式。boolean确定指定的信息对象是否与此匹配。toString()返回信息对象的字符串表示形式。Methods declared in class javax.sound.sampled.Line.Info
getLineClass
-
Constructor Details
-
Info
从指定信息构造数据线的信息对象,其中包括一组支持的音频格式和缓冲区大小的范围。当混音器实现返回有关支持线的信息时,通常使用此构造函数。- 参数:
-
lineClass- 由信息对象描述的数据线的类 -
formats- 支持的格式集 -
minBufferSize- 数据线支持的最小缓冲区大小(以字节为单位) -
maxBufferSize- 数据线支持的最大缓冲区大小(以字节为单位)
-
Info
从指定信息构造数据线的信息对象,其中包括单个音频格式和所需的缓冲区大小。当应用程序描述所需的线时,通常使用此构造函数。- 参数:
-
lineClass- 由信息对象描述的数据线的类 -
format- 所需格式 -
bufferSize- 所需的缓冲区大小(以字节为单位)
-
Info
从指定信息构造数据线的信息对象,其中包括单个音频格式。当应用程序描述所需的线时,通常使用此构造函数。- 参数:
-
lineClass- 由信息对象描述的数据线的类 -
format- 所需格式
-
-
Method Details
-
getFormats
获取数据线支持的音频格式集。请注意,isFormatSupported(AudioFormat)可能对某些附加格式返回true,这些格式在getFormats()返回的集合中缺失。反之则不成立:isFormatSupported(AudioFormat)保证对getFormats()返回的所有格式返回true。AudioFormat实例中的某些字段可以设置为NOT_SPECIFIED,如果该字段不适用于格式,或者如果格式支持该字段的一系列值。例如,支持多达64个通道的多通道设备,可以将此方法返回的AudioFormat实例中的通道字段设置为NOT_SPECIFIED。- 返回:
- 支持的音频格式集
- 参见:
-
isFormatSupported
指示此数据线是否支持特定音频格式。此方法的默认实现仅在指定格式与支持的任何格式匹配时返回true。- 参数:
-
format- 查询支持的音频格式 - 返回:
-
如果支持该格式,则返回
true,否则返回false - 参见:
-
getMinBufferSize
public int getMinBufferSize()获取数据线支持的最小缓冲区大小。- 返回:
-
最小缓冲区大小(以字节为单位),或
AudioSystem.NOT_SPECIFIED
-
getMaxBufferSize
public int getMaxBufferSize()获取数据线支持的最大缓冲区大小。- 返回:
-
最大缓冲区大小(以字节为单位),或
AudioSystem.NOT_SPECIFIED
-
matches
确定指定的信息对象是否与此对象匹配。要匹配,必须满足超类的匹配要求。此外,此对象的最小缓冲区大小必须至少与指定对象的大小相同,其最大缓冲区大小必须至多与指定对象的大小相同,并且其所有格式必须与指定对象支持的格式匹配。 -
toString
返回信息对象的字符串表示形式。
-