Class QoaInputStream
java.lang.Object
de.pottgames.tuningfork.decoder.QoaInputStream
- All Implemented Interfaces:
AudioStream, Closeable, AutoCloseable
An
AudioStream implementation to read qoa files.-
Constructor Summary
ConstructorsConstructorDescriptionQoaInputStream(com.badlogic.gdx.files.FileHandle file) Initializes aQoaInputStreamfrom aFileHandle.QoaInputStream(com.badlogic.gdx.files.FileHandle file, boolean forStreaming) Initializes aQoaInputStreamfrom aFileHandle.QoaInputStream(InputStream stream) Initializes aQoaInputStreamfrom anInputStream.QoaInputStream(InputStream stream, boolean forStreaming) Initializes aQoaInputStreamfrom anInputStream. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()intReturns the number of bits per sample, also known as the sample depth.intReturns the number of audio channels.floatReturns the duration in seconds or -1 if this information is not available.Returns the output data format of this AudioStream.intReturns the sample rate.booleanisClosed()Returns true if the AudioStream is closed.intread(byte[] bytes) Reads bytes from the stream until the given array is full or the stream ends.reset()Resets the audio stream as if it was re-opened.longMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AudioStream
getBlockAlign, getBlockSize
-
Constructor Details
-
QoaInputStream
public QoaInputStream(com.badlogic.gdx.files.FileHandle file) Initializes aQoaInputStreamfrom aFileHandle.- Parameters:
file- the file handle
-
QoaInputStream
public QoaInputStream(com.badlogic.gdx.files.FileHandle file, boolean forStreaming) Initializes aQoaInputStreamfrom aFileHandle.- Parameters:
file- the file handleforStreaming- true if this will be used for streaming
-
QoaInputStream
Initializes aQoaInputStreamfrom anInputStream. This stream does not support the reset function. UseQoaInputStream(FileHandle)instead to get the full functionality.- Parameters:
stream- the input stream
-
QoaInputStream
Initializes aQoaInputStreamfrom anInputStream. This stream does not support the reset function. UseQoaInputStream(FileHandle)instead to get the full functionality.- Parameters:
stream- the input streamforStreaming- true if this will be used for streaming
-
-
Method Details
-
read
public int read(byte[] bytes) Description copied from interface:AudioStreamReads 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:
readin interfaceAudioStream- Parameters:
bytes- the byte array to store the bytes in- Returns:
- number of bytes read or -1 if there are no bytes left
-
getDuration
public float getDuration()Description copied from interface:AudioStreamReturns the duration in seconds or -1 if this information is not available.- Specified by:
getDurationin interfaceAudioStream- Returns:
- duration in seconds or -1 if the information is not available
-
reset
Description copied from interface:AudioStreamResets 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:
resetin interfaceAudioStream- Returns:
- an AudioStream
-
totalSamplesPerChannel
public long totalSamplesPerChannel() -
getChannels
public int getChannels()Description copied from interface:AudioStreamReturns the number of audio channels.- Specified by:
getChannelsin interfaceAudioStream- Returns:
- number of channels
-
getSampleRate
public int getSampleRate()Description copied from interface:AudioStreamReturns the sample rate.- Specified by:
getSampleRatein interfaceAudioStream- Returns:
- the sample rate
-
getBitsPerSample
public int getBitsPerSample()Description copied from interface:AudioStreamReturns the number of bits per sample, also known as the sample depth.- Specified by:
getBitsPerSamplein interfaceAudioStream- Returns:
- the number of bits per sample
-
getPcmDataType
Description copied from interface:AudioStreamReturns the output data format of this AudioStream.- Specified by:
getPcmDataTypein interfaceAudioStream- Returns:
- the pcm data type
-
isClosed
public boolean isClosed()Description copied from interface:AudioStreamReturns true if the AudioStream is closed.- Specified by:
isClosedin interfaceAudioStream- Returns:
- true if closed, false if open
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-