public class AudioDispatcher
extends java.lang.Object
implements java.lang.Runnable
Constructor and Description |
---|
AudioDispatcher(int audioBufferSize) |
AudioDispatcher(TarsosDSPAudioInputStream stream,
int audioBufferSize,
int bufferOverlap)
Create a new dispatcher from a stream.
|
Modifier and Type | Method and Description |
---|---|
void |
addAudioProcessor(AudioProcessor audioProcessor)
Adds an AudioProcessor to the chain of processors.
|
long |
durationInFrames()
Returns the length of the stream, expressed in sample frames rather than bytes.
|
double |
durationInSeconds()
Returns the duration of the stream in seconds.
|
TarsosDSPAudioFormat |
getFormat() |
void |
removeAudioProcessor(AudioProcessor audioProcessor)
Removes an AudioProcessor to the chain of processors and calls processingFinished.
|
void |
run() |
float |
secondsProcessed() |
void |
setStepSizeAndOverlap(int audioBufferSize,
int bufferOverlap)
Set a new step size and overlap size.
|
void |
setZeroPad(boolean zeroPad)
if zero pad is true then the first buffer is only filled up to buffer size - hop size
E.g.
|
void |
skip(double seconds)
Skip a number of seconds before processing the stream.
|
void |
stop()
Stops dispatching audio data.
|
public AudioDispatcher(TarsosDSPAudioInputStream stream, int audioBufferSize, int bufferOverlap)
stream
- The stream to read data from.audioBufferSize
- The size of the buffer defines how much samples are processed
in one step. Common values are 1024,2048.bufferOverlap
- How much consecutive buffers overlap (in samples). Half of the
AudioBufferSize is common (512, 1024) for an FFT.public AudioDispatcher(int audioBufferSize)
public double durationInSeconds()
public long durationInFrames()
public void skip(double seconds)
seconds
- public void setStepSizeAndOverlap(int audioBufferSize, int bufferOverlap)
audioBufferSize
- The size of the buffer defines how much samples are processed
in one step. Common values are 1024,2048.bufferOverlap
- How much consecutive buffers overlap (in samples). Half of the
AudioBufferSize is common (512, 1024) for an FFT.public void setZeroPad(boolean zeroPad)
zeroPad
- true if the buffer should be zeropadded, false otherwise.public void addAudioProcessor(AudioProcessor audioProcessor)
audioProcessor
- The AudioProcessor to add.public void removeAudioProcessor(AudioProcessor audioProcessor)
audioProcessor
- The AudioProcessor to add.public void run()
run
in interface java.lang.Runnable
public void stop()
public TarsosDSPAudioFormat getFormat()
public float secondsProcessed()