javax.sound.sampled

接口
异常
java.lang.Object
  继承者 javax.sound.sampled.Line.Info
      继承者 javax.sound.sampled.DataLine.Info
正在封闭接口:
DataLine

public static class DataLine.Info
     
extends Line.Info

除了继承自其超类的类信息之外,DataLine.Info 还提供特定于数据行的其他信息。这些信息包括:

  • 受数据行支持的音频格式
  • 其内部缓冲区的最小和最大大小
因为 Line.Info 了解它所描述的行的类,所以 DataLine.Info 对象可以描述 DataLine 子接口(比如 SourceDataLineTargetDataLineClip)。通过将 DataLine.Info 的适当实例作为参数传递到某一方法(如 Mixer.getLine(Line.Info)),可以查询任何类型的行混频器。

从以下版本开始:
1.3
另请参见:
Line.Info

构造方法摘要
DataLine.Info(Class<?> lineClass, AudioFormat format)
          根据指定信息构造数据行的信息对象,这些信息包括单个音频格式。
DataLine.Info(Class<?> lineClass, AudioFormat[] formats, int minBufferSize, int maxBufferSize)
          根据指定信息构造数据行的信息对象,这些包括受支持音频格式的集合和缓冲区大小的范围。
DataLine.Info(Class<?> lineClass, AudioFormat format, int bufferSize)
          根据指定信息构造数据行的信息对象,这些信息包括单个音频格式和所需的缓冲区大小。
 
方法摘要
 AudioFormat[] getFormats()
          获得数据行支持的音频格式的集合。
 int getMaxBufferSize()
          获得数据行支持的最大缓冲区大小。
 int getMinBufferSize()
          获得数据行支持的最小缓冲区大小。
 boolean isFormatSupported(AudioFormat format)
          指示此数据行是否支持特定的音频格式。
 boolean matches(Line.Info info)
          确定指定的信息对象是否与此对象匹配。
 String toString()
          获得数据行信息的文本描述。
 
从类 javax.sound.sampled.Line.Info 继承的方法
getLineClass
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

DataLine.Info

public DataLine.Info(Class<?> lineClass,
                     AudioFormat[] formats,
                     int minBufferSize,
                     int maxBufferSize)
根据指定信息构造数据行的信息对象,这些包括受支持音频格式的集合和缓冲区大小的范围。此构造方法通常在返回受支持行的信息时由混频器实现使用。

参数:
lineClass - 该信息对象描述的数据行的类
formats - 受支持格式的集合
minBufferSize - 数据行支持的最小缓冲区大小(以字节为单位)
maxBufferSize - 数据行支持的最大缓冲区大小(以字节为单位)

DataLine.Info

public DataLine.Info(Class<?> lineClass,
                     AudioFormat format,
                     int bufferSize)
根据指定信息构造数据行的信息对象,这些信息包括单个音频格式和所需的缓冲区大小。此构造方法通常由应用程序用于描述所需的行。

参数:
lineClass - 该信息对象描述的数据行的类
format - 所需的格式
bufferSize - 所需的缓冲区大小(以字节为单位)

DataLine.Info

public DataLine.Info(Class<?> lineClass,
                     AudioFormat format)
根据指定信息构造数据行的信息对象,这些信息包括单个音频格式。此构造方法通常由应用程序用于描述所需的行。

参数:
lineClass - 该信息对象所描述的数据行的类
format - 所需的格式
方法详细信息

getFormats

public AudioFormat[] getFormats()
获得数据行支持的音频格式的集合。注意, isFormatSupported(AudioFormat) 可能为某种其他格式返回 true,这些格式是从 getFormats() 返回的集合中丢失的。反之则不然:保证 isFormatSupported(AudioFormat) 为所有由 getFormats() 返回的格式返回 true。 如果 AudioFormat 实例中的某些字段不适用该格式,或者如果该格式不支持对字段使用大量的值,则可以将这些字段设置为 NOT_SPECIFIED。例如,最多支持 64 个信道的多信道设备可以将此方法返回的 AudioFormat 实例中的信道字段设置为 NOT_SPECIFIED

返回:
受支持的音频格式的集合。
另请参见:
isFormatSupported(AudioFormat)

isFormatSupported

public boolean isFormatSupported(AudioFormat format)
指示此数据行是否支持特定的音频格式。如果指定格式与任何受支持的格式匹配,则此方法的默认实现只返回 true

参数:
format - 查询其是否受支持的音频格式。
返回:
如果该格式受支持,则返回 true;否则返回 false
另请参见:
getFormats(), AudioFormat.matches(javax.sound.sampled.AudioFormat)

getMinBufferSize

public int getMinBufferSize()
获得数据行支持的最小缓冲区大小。

返回:
以字节为单位的最小缓冲区大小,或 AudioSystem.NOT_SPECIFIED

getMaxBufferSize

public int getMaxBufferSize()
获得数据行支持的最大缓冲区大小。

返回:
以字节为单位的最大缓冲区大小,或 AudioSystem.NOT_SPECIFIED

matches

public boolean matches(Line.Info info)
确定指定的信息对象是否与此对象匹配。若要匹配,则必须满足超类匹配要求。此外,该对象的最小缓冲区大小必须至少与指定对象的缓冲区大小相同,其最大缓冲区大小必须至多与指定对象的缓冲区大小相同,并且它的所有格式都必须与指定对象支持的格式匹配。

覆盖:
Line.Info 中的 matches
参数:
info - 要与此对象比较的 info 对象
返回:
如果此对象与指定的对象匹配,则返回 true;否则返回 false

toString

public String toString()
获得数据行信息的文本描述。

覆盖:
Line.Info 中的 toString
返回:
字符串描述