javax.sound.sampled.spi

java.lang.Object
  继承者 javax.sound.sampled.spi.FormatConversionProvider

public abstract class FormatConversionProvider
     
extends Object

格式转换提供者提供从一种或多种输入格式到一种或多种输出格式的格式转换服务。转换器包括编码器(编码或解码音频数据)和代码转换器等。格式转换器提供确定所支持的转换方法和从可以读取的转换数据获得音频流的方法。

源格式表示要转换的转入音频数据的格式。

目标格式表示已处理的、已转换的音频数据的格式。这是可以从由某个 getAudioInputStream 方法返回的流中读取的数据的格式。

从以下版本开始:
1.3

构造方法摘要
FormatConversionProvider()
           
 
方法摘要
abstract  AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream)
          从给定的音频输入流获得具有指定编码的音频输入流。
abstract  AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream)
          从给定的音频输入流获得具有指定格式的音频输入流。
abstract  AudioFormat.Encoding[] getSourceEncodings()
          获得源格式编码的集合,此提供者从该集合中提供格式转换服务。
abstract  AudioFormat.Encoding[] getTargetEncodings()
          获得目标格式编码的集合,此提供者向该集合提供格式转换服务。
abstract  AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
          获得受给定了特定源格式的格式转换器支持的目标格式编码集合。
abstract  AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
          获得具有受格式转换器支持的指定编码的目标格式集合。
 boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
          指示格式转换器是否支持从特定格式向特定编码的转换。
 boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
          指示格式转换器是否支持到从一种特定格式到另一种格式的转换。
 boolean isSourceEncodingSupported(AudioFormat.Encoding sourceEncoding)
          指示格式转换器是否支持从指定源格式编码的转换。
 boolean isTargetEncodingSupported(AudioFormat.Encoding targetEncoding)
          指示格式转换器是否支持到指定目标格式编码的转换。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FormatConversionProvider

public FormatConversionProvider()
方法详细信息

getSourceEncodings

public abstract AudioFormat.Encoding[] getSourceEncodings()
获得源格式编码的集合,此提供者从该集合中提供格式转换服务。

返回:
源格式编码的数组。数组将始终具有至少为 1 的长度。

getTargetEncodings

public abstract AudioFormat.Encoding[] getTargetEncodings()
获得目标格式编码的集合,此提供者向该集合提供格式转换服务。

返回:
目标格式编码的数组。数组将始终具有至少为 1 的长度。

isSourceEncodingSupported

public boolean isSourceEncodingSupported(AudioFormat.Encoding sourceEncoding)
指示格式转换器是否支持从指定源格式编码的转换。

参数:
sourceEncoding - 为其提供查询支持的源格式编码
返回:
如果编码受支持,则返回 true;否则返回 false

isTargetEncodingSupported

public boolean isTargetEncodingSupported(AudioFormat.Encoding targetEncoding)
指示格式转换器是否支持到指定目标格式编码的转换。

参数:
targetEncoding - 为其提供查询支持的目标格式编码
返回:
如果编码受支持,则返回 true;否则返回 false

getTargetEncodings

public abstract AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
获得受给定了特定源格式的格式转换器支持的目标格式编码集合。如果没有为此源格式受支持的目标格式编码,则返回一个长度为 0 的数组。

返回:
受支持的目标格式编码的数组。

isConversionSupported

public boolean isConversionSupported(AudioFormat.Encoding targetEncoding,
                                     AudioFormat sourceFormat)
指示格式转换器是否支持从特定格式向特定编码的转换。

参数:
argetEncoding - 传出数据所需的编码
sourceFormat - 传入数据的格式
返回:
如果转换受支持,则返回 true;否则返回 false

getTargetFormats

public abstract AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding,
                                               AudioFormat sourceFormat)
获得具有受格式转换器支持的指定编码的目标格式集合。如果没有为此源格式受支持的具有指定编码的目标格式,则返回一个长度为 0 的数组。

返回:
受支持的目标格式的数组。

isConversionSupported

public boolean isConversionSupported(AudioFormat targetFormat,
                                     AudioFormat sourceFormat)
指示格式转换器是否支持到从一种特定格式到另一种格式的转换。

参数:
targetFormat - 传出数据所需的格式
sourceFormat - 传入数据的格式
返回:
如果转换受支持,则返回 true;否则,返回 false

getAudioInputStream

public abstract AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding,
                                                     AudioInputStream sourceStream)
从给定的音频输入流获得具有指定编码的音频输入流。

参数:
targetEncoding - 处理后的流所需的编码
sourceStream - 应该从中读取要处理数据的数据流
返回:
可以读取已处理的具有指定目标编码的数据流
抛出:
IllegalArgumentException - 如果提供的格式组合不受支持。

getAudioInputStream

public abstract AudioInputStream getAudioInputStream(AudioFormat targetFormat,
                                                     AudioInputStream sourceStream)
从给定的音频输入流获得具有指定格式的音频输入流。

参数:
targetFormat - 处理后的流所需的数据格式
sourceStream - 应该从中读取要处理数据的数据流
返回:
可以从中读取已处理的具有指定格式的数据流
抛出:
IllegalArgumentException - 如果提供的格式组合不受支持。