Class Mp3InputStream
java.lang.Object
de.pottgames.tuningfork.decoder.Mp3InputStream
- All Implemented Interfaces:
AudioStream, Closeable, AutoCloseable
An
AudioStream that decodes mp3. TuningFork doesn't officially support the mp3 file format, use at your own risk. This implementation is as open as
it can be, you should be able to extend it easily and make changes and improvements to your needs.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected javazoom.jl.decoder.Bitstreamprotected intprotected booleanprotected javazoom.jl.decoder.MP3Decoderprotected floatprotected com.badlogic.gdx.files.FileHandleprotected javazoom.jl.decoder.OutputBufferprotected int -
Constructor Summary
Constructors -
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.protected voidinit(com.badlogic.gdx.files.FileHandle file) 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.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AudioStream
getBlockAlign, getBlockSize
-
Field Details
-
bitstream
protected javazoom.jl.decoder.Bitstream bitstream -
outputBuffer
protected javazoom.jl.decoder.OutputBuffer outputBuffer -
decoder
protected javazoom.jl.decoder.MP3Decoder decoder -
channels
protected int channels -
sampleRate
protected int sampleRate -
file
protected com.badlogic.gdx.files.FileHandle file -
duration
protected float duration -
closed
protected boolean closed
-
-
Constructor Details
-
Mp3InputStream
public Mp3InputStream(com.badlogic.gdx.files.FileHandle file)
-
-
Method Details
-
init
protected void init(com.badlogic.gdx.files.FileHandle file) -
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
-
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
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
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
-