Class AudioInputStreamDecoder

java.lang.Object
net.avadeaux.klipspringer.decoder.AudioInputStreamDecoder
All Implemented Interfaces:
Closeable, AutoCloseable, AudioDecoder

public class AudioInputStreamDecoder extends Object implements AudioDecoder
Audio decoder that reads from an AudioInputStream.
  • Constructor Details

    • AudioInputStreamDecoder

      public AudioInputStreamDecoder(AudioInputStream stream, AudioDecoder.Target target)
      Sets up for sending data from the given AudioInputStream to the given target.
  • Method Details

    • reusable

      public boolean reusable()
      Returns false, indicating that decodeAll can be called at most once.
      Specified by:
      reusable in interface AudioDecoder
    • close

      public void close() throws IOException
      Closes stream.
      Specified by:
      close in interface AudioDecoder
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • decodeMetadata

      public void decodeMetadata() throws IOException
      Description copied from interface: AudioDecoder
      Decodes metadata and sends it to the target, without writing any blocks. Should be called at most once, and never after decodeAll. If not called, metadata gets sent to the target by decodeAll.
      Specified by:
      decodeMetadata in interface AudioDecoder
      Throws:
      IOException
    • decodeAll

      public boolean decodeAll(long fromSampleNo) throws IOException
      Description copied from interface: AudioDecoder
      Sends audio data to the target, one block at the time, starting from the given sample frame number (zero to start at the beginning). If decodeMetadata has not been called, metadata is sent to the target before the first block. Returns when the input is exhausted (in which case it returns true) or the target aborts decoding by returning false from write (in which case this method returns false). In either case, if this decoder is AudioDecoder.reusable(), decodeAll may be called again to decode the same input once more. It must not be called again if decoding has thrown an exception.
      Specified by:
      decodeAll in interface AudioDecoder
      Throws:
      IOException