模块 java.desktop

类 FormatConversionProvider

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

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

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

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

自从:
1.3
  • 构造方法详细信息

    • FormatConversionProvider

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