java.lang.Object
javax.sound.sampled.spi.FormatConversionProvider
格式转换提供程序提供从一个或多个输入格式到一个或多个输出格式的格式转换服务。转换器包括编解码器,用于对音频数据进行编码和/或解码,以及转码器等。格式转换器提供确定支持的转换以及从中可以读取转换数据的音频流的方法。
源格式表示将要转换的传入音频数据的格式。
目标格式表示经过处理的转换后的音频数据的格式。这是可以从一个getAudioInputStream
方法返回的流中读取的数据格式。
- 自:
- 1.3
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract AudioInputStream
getAudioInputStream
(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream) 从给定的音频输入流获取具有指定编码的音频输入流。abstract AudioInputStream
getAudioInputStream
(AudioFormat targetFormat, AudioInputStream sourceStream) 从给定的音频输入流获取具有指定格式的音频输入流。abstract AudioFormat.Encoding[]
获取此提供程序提供的格式转换服务支持的源格式编码集。abstract AudioFormat.Encoding[]
获取此提供程序提供的格式转换服务支持的目标格式编码集。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) 指示格式转换器是否支持转换为指定的目标格式编码。
-
Constructor Details
-
FormatConversionProvider
protected FormatConversionProvider()子类调用的构造函数。
-
-
Method Details
-
getSourceEncodings
获取此提供程序提供的格式转换服务支持的源格式编码集。- 返回:
- 源格式编码数组。如果由于某种原因提供程序不提供任何转换服务,则返回长度为0的数组。
-
getTargetEncodings
获取此提供程序提供的格式转换服务支持的目标格式编码集。- 返回:
- 目标格式编码数组。如果由于某种原因提供程序不提供任何转换服务,则返回长度为0的数组。
-
isSourceEncodingSupported
指示格式转换器是否支持从指定的源格式编码转换。- 参数:
-
sourceEncoding
- 查询支持的源格式编码 - 返回:
-
如果支持该编码,则返回
true
,否则返回false
- 抛出:
-
NullPointerException
- 如果sourceEncoding
为null
-
isTargetEncodingSupported
指示格式转换器是否支持转换为指定的目标格式编码。- 参数:
-
targetEncoding
- 查询支持的目标格式编码 - 返回:
-
如果支持该编码,则返回
true
,否则返回false
- 抛出:
-
NullPointerException
- 如果targetEncoding
为null
-
getTargetEncodings
获取特定源格式给定的格式转换器支持的目标格式编码集。如果对于此源格式不支持任何目标格式编码,则返回长度为0的数组。- 参数:
-
sourceFormat
- 传入数据的格式 - 返回:
- 支持的目标格式编码数组
- 抛出:
-
NullPointerException
- 如果sourceFormat
为null
-
isConversionSupported
指示格式转换器是否支持从特定格式转换为特定编码。- 参数:
-
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
指示格式转换器是否支持从一个特定格式转换为另一个格式。- 参数:
-
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
- 如果targetFormat
或sourceStream
为null
-