Module  java.desktop

Class FormatConversionProvider



  • public abstract class FormatConversionProvider
    extends Object
    格式转换提供者将一种或多种输入格式的格式转换服务提供给一种或多种输出格式。 转换器包括对音频数据进行编码和/或解码的编解码器以及代码转换器等。格式转换器提供用于确定支持哪些转换的方法以及用于获得可读取转换后的数据的音频流。

    源格式表示将被转换的传入音频数据的格式。

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

    从以下版本开始:
    1.3
    • 构造方法详细信息

      • FormatConversionProvider

        public FormatConversionProvider​()
    • 方法详细信息

      • 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 - 如果 sourceEncodingnull
      • isTargetEncodingSupported

        public boolean isTargetEncodingSupported​(AudioFormat.Encoding targetEncoding)
        指示格式转换器是否支持转换为指定的目标格式编码。
        参数
        targetEncoding - 查询支持的目标格式编码
        结果
        true如果支持编码,否则为 false
        异常
        NullPointerException - 如果 targetEncodingnull
      • getTargetEncodings

        public abstract AudioFormat.Encoding[] getTargetEncodings​(AudioFormat sourceFormat)
        获取格式转换器支持的一组目标格式编码,给定特定的源格式。 如果此源格式不支持目标格式编码,则返回长度为0的数组。
        参数
        sourceFormat - 传入数据的格式
        结果
        支持的目标格式编码数组
        异常
        NullPointerException - 如果 sourceFormatnull
      • isConversionSupported

        public boolean isConversionSupported​(AudioFormat.Encoding targetEncoding,
                                             AudioFormat sourceFormat)
        指示格式转换器是否支持从特定格式转换为特定编码。
        参数
        targetEncoding - 输出数据的所需编码
        sourceFormat - 输入数据的格式
        结果
        true如果转换支持,否则 false
        异常
        NullPointerException - 如果 targetEncodingsourceFormatnull
      • getTargetFormats

        public abstract AudioFormat[] getTargetFormats​(AudioFormat.Encoding targetEncoding,
                                                       AudioFormat sourceFormat)
        使用格式转换器支持的编码获取目标格式集。 如果此源格式不支持具有指定编码的目标格式,则返回长度为0的数组。
        参数
        targetEncoding - 处理后流的所需编码
        sourceFormat - 输入数据的格式
        结果
        支持的目标格式数组
        异常
        NullPointerException - 如果 targetEncodingsourceFormatnull
      • isConversionSupported

        public boolean isConversionSupported​(AudioFormat targetFormat,
                                             AudioFormat sourceFormat)
        指示格式转换器是否支持从另一种格式转换为一种特定格式。
        参数
        targetFormat - 输出数据的所需格式
        sourceFormat - 输入数据的格式
        结果
        true如果转换支持,否则为 false
        异常
        NullPointerException - 如果 targetFormatsourceFormatnull
      • getAudioInputStream

        public abstract AudioInputStream getAudioInputStream​(AudioFormat.Encoding targetEncoding,
                                                             AudioInputStream sourceStream)
        从给定的音频输入流中获取具有指定编码的音频输入流。
        参数
        targetEncoding - 处理后流的所需编码
        sourceStream - 应从中读取要处理的数据的流
        结果
        可以读取具有指定目标编码的处理数据的流
        异常
        IllegalArgumentException - 如果不支持提供的格式组合
        NullPointerException - 如果 targetEncodingsourceStreamnull
      • getAudioInputStream

        public abstract AudioInputStream getAudioInputStream​(AudioFormat targetFormat,
                                                             AudioInputStream sourceStream)
        从给定的音频输入流中获取具有指定格式的音频输入流。
        参数
        targetFormat - 处理后流的所需数据格式
        sourceStream - 应从中读取要处理的数据的流
        结果
        可以读取具有指定格式的处理数据的流
        异常
        IllegalArgumentException - 如果不支持提供的格式组合
        NullPointerException - if targetFormat or sourceStream are null