Class FlacInputStream

java.lang.Object
de.pottgames.tuningfork.decoder.FlacInputStream
All Implemented Interfaces:
AudioStream, Closeable, AutoCloseable

public class FlacInputStream extends Object implements AudioStream
An AudioStream implementation to read flac files.
  • Constructor Details

    • FlacInputStream

      public FlacInputStream(File file)
      Initializes a FlacInputStream from a File.
      Parameters:
      file - the file
    • FlacInputStream

      public FlacInputStream(InputStream stream)
      Initializes a FlacInputStream from an InputStream. This stream does not support the reset function. Use FlacInputStream(FileHandle) instead to get the full functionality.
      Parameters:
      stream - the input stream
    • FlacInputStream

      public FlacInputStream(com.badlogic.gdx.files.FileHandle file)
      Initializes a FlacInputStream from a FileHandle.
      Parameters:
      file - the file handle
  • Method Details

    • getDuration

      public float getDuration()
      Description copied from interface: AudioStream
      Returns the duration in seconds or -1 if this information is not available.
      Specified by:
      getDuration in interface AudioStream
      Returns:
      duration in seconds or -1 if the information is not available
    • reset

      public AudioStream reset()
      Description copied from interface: AudioStream
      Resets the audio stream as if it was re-opened. Implementations are free to close themselves and provide a new AudioStream. The AudioStream returned by this function will be used, regardless of whether it is a new instance or the old one.
      Specified by:
      reset in interface AudioStream
      Returns:
      an AudioStream
    • read

      public int read(byte[] bytes)
      Description copied from interface: AudioStream
      Reads bytes from the stream until the given array is full or the stream ends. Returns the number of bytes that were actually read.
      Specified by:
      read in interface AudioStream
      Parameters:
      bytes - the byte array to store the bytes in
      Returns:
      number of bytes read or -1 if there are no bytes left
    • totalSamples

      public long totalSamples()
    • getChannels

      public int getChannels()
      Description copied from interface: AudioStream
      Returns the number of audio channels.
      Specified by:
      getChannels in interface AudioStream
      Returns:
      number of channels
    • getSampleRate

      public int getSampleRate()
      Description copied from interface: AudioStream
      Returns the sample rate.
      Specified by:
      getSampleRate in interface AudioStream
      Returns:
      the sample rate
    • getBitsPerSample

      public int getBitsPerSample()
      Description copied from interface: AudioStream
      Returns the number of bits per sample, also known as the sample depth.
      Specified by:
      getBitsPerSample in interface AudioStream
      Returns:
      the number of bits per sample
    • getBytesPerSample

      public int getBytesPerSample()
    • getPcmDataType

      public PcmFormat.PcmDataType getPcmDataType()
      Description copied from interface: AudioStream
      Returns the output data format of this AudioStream.
      Specified by:
      getPcmDataType in interface AudioStream
      Returns:
      the pcm data type
    • isClosed

      public boolean isClosed()
      Description copied from interface: AudioStream
      Returns true if the AudioStream is closed.
      Specified by:
      isClosed in interface AudioStream
      Returns:
      true if closed, false if open
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException