Module java.desktop

Class FormatConversionProvider

java.lang.Object
javax.sound.sampled.spi.FormatConversionProvider

public abstract class FormatConversionProvider extends Object
格式转换提供程序提供从一个或多个输入格式到一个或多个输出格式的格式转换服务。转换器包括编解码器,用于对音频数据进行编码和/或解码,以及转码器等。格式转换器提供确定支持的转换以及从中可以读取转换数据的音频流的方法。

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

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

自:
1.3
  • Constructor Details

    • FormatConversionProvider

      protected FormatConversionProvider()
      子类调用的构造函数。
  • Method Details

    • 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 - 如果targetFormatsourceStreamnull