- java.lang.Object
-
- javax.sound.sampled.spi.FormatConversionProvider
-
public abstract class FormatConversionProvider extends Object
格式转换提供者将一种或多种输入格式的格式转换服务提供给一种或多种输出格式。 转换器包括对音频数据进行编码和/或解码的编解码器以及代码转换器等。格式转换器提供用于确定支持哪些转换的方法以及用于获得可读取转换后的数据的音频流。源格式表示将被转换的传入音频数据的格式。
目标格式表示已处理转换的音频数据的格式。 这是可以从
getAudioInputStream
方法之一返回的流中读取的数据的格式。- 从以下版本开始:
- 1.3
-
-
构造方法摘要
构造方法 Constructor 描述 FormatConversionProvider()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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)
指示格式转换器是否支持转换为指定的目标格式编码。
-
-
-
方法详细信息
-
getSourceEncodings
public abstract AudioFormat.Encoding[] getSourceEncodings()
获取由该提供商提供格式转换服务的源格式编码集合。- 结果
- 数组源码格式编码。 如果由于某种原因提供者不提供任何转换服务,则返回长度为0的数组。
-
getTargetEncodings
public abstract AudioFormat.Encoding[] getTargetEncodings()
获取此提供商提供格式转换服务的一组目标格式编码。- 结果
- 数组目标格式编码。 如果由于某种原因提供者不提供任何转换服务,则返回长度为0的数组。
-
isSourceEncodingSupported
public boolean isSourceEncodingSupported(AudioFormat.Encoding sourceEncoding)
指示格式转换器是否支持从指定的源格式编码转换。- 参数
-
sourceEncoding
- 查询支持的源格式编码 - 结果
-
true
如果支持编码,否则为false
- 异常
-
NullPointerException
- 如果sourceEncoding
是null
-
isTargetEncodingSupported
public boolean isTargetEncodingSupported(AudioFormat.Encoding targetEncoding)
指示格式转换器是否支持转换为指定的目标格式编码。- 参数
-
targetEncoding
- 查询支持的目标格式编码 - 结果
-
true
如果支持编码,否则为false
- 异常
-
NullPointerException
- 如果targetEncoding
是null
-
getTargetEncodings
public abstract AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
获取格式转换器支持的一组目标格式编码,给定特定的源格式。 如果此源格式不支持目标格式编码,则返回长度为0的数组。- 参数
-
sourceFormat
- 传入数据的格式 - 结果
- 支持的目标格式编码数组
- 异常
-
NullPointerException
- 如果sourceFormat
是null
-
isConversionSupported
public boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
指示格式转换器是否支持从特定格式转换为特定编码。- 参数
-
targetEncoding
- 输出数据的所需编码 -
sourceFormat
- 输入数据的格式 - 结果
-
true
如果转换支持,否则false
- 异常
-
NullPointerException
- 如果targetEncoding
或sourceFormat
为null
-
getTargetFormats
public abstract AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
使用格式转换器支持的编码获取目标格式集。 如果此源格式不支持具有指定编码的目标格式,则返回长度为0的数组。- 参数
-
targetEncoding
- 处理后流的所需编码 -
sourceFormat
- 输入数据的格式 - 结果
- 支持的目标格式数组
- 异常
-
NullPointerException
- 如果targetEncoding
或sourceFormat
是null
-
isConversionSupported
public boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
指示格式转换器是否支持从另一种格式转换为一种特定格式。- 参数
-
targetFormat
- 输出数据的所需格式 -
sourceFormat
- 输入数据的格式 - 结果
-
true
如果转换支持,否则为false
- 异常
-
NullPointerException
- 如果targetFormat
或sourceFormat
是null
-
getAudioInputStream
public abstract AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream)
从给定的音频输入流中获取具有指定编码的音频输入流。- 参数
-
targetEncoding
- 处理后流的所需编码 -
sourceStream
- 应从中读取要处理的数据的流 - 结果
- 可以读取具有指定目标编码的处理数据的流
- 异常
-
IllegalArgumentException
- 如果不支持提供的格式组合 -
NullPointerException
- 如果targetEncoding
或sourceStream
为null
-
getAudioInputStream
public abstract AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream)
从给定的音频输入流中获取具有指定格式的音频输入流。- 参数
-
targetFormat
- 处理后流的所需数据格式 -
sourceStream
- 应从中读取要处理的数据的流 - 结果
- 可以读取具有指定格式的处理数据的流
- 异常
-
IllegalArgumentException
- 如果不支持提供的格式组合 -
NullPointerException
- iftargetFormat
orsourceStream
arenull
-
-