public class FilePlayer extends UGen implements Playable
UGen.InputType, UGen.UGenInput
Constructor and Description |
---|
FilePlayer(ddf.minim.spi.AudioRecordingStream iFileStream)
Construct a FilePlayer that will read from iFileStream.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Calling close will close the AudioRecordingStream that this wraps,
which is proper cleanup for using the stream.
|
void |
cue(int millis)
Sets the position to
millis milliseconds from
the beginning. |
AudioMetaData |
getMetaData()
Returns the meta data for the recording being played by this player.
|
ddf.minim.spi.AudioRecordingStream |
getStream()
Returns the underlying AudioRecordingStream.
|
boolean |
isLooping()
Returns true if this is currently playing and has more than one loop
left to play.
|
boolean |
isPlaying()
Returns true if this currently playing.
|
int |
length()
Returns the length of the sound in milliseconds.
|
void |
loop()
Sets looping to continuous.
|
void |
loop(int loopCount)
Sets this to loop
loopCount times. |
int |
loopCount()
Returns the number of loops left to do.
|
void |
pause()
Pauses playback.
|
void |
play()
Starts playback from the current position.
|
void |
play(int millis)
Starts playback
millis from the beginning. |
int |
position()
Returns the current position of the "playhead" (ie how much of
the sound has already been played)
|
void |
rewind()
Rewinds to the beginning.
|
void |
setLoopPoints(int start,
int stop)
Sets the loop points used when looping.
|
void |
skip(int millis)
Skips
millis from the current position. |
protected void |
uGenerate(float[] channels)
Implement this method when you extend UGen.
|
addAudio, addControl, addControl, addInput, channelCount, channelCountChanged, getLastValues, patch, patch, patch, printInputs, removeInput, sampleRate, sampleRateChanged, setChannelCount, setSampleRate, tick, unpatch, unpatch
public FilePlayer(ddf.minim.spi.AudioRecordingStream iFileStream)
iFileStream
- AudioRecordingStream: the stream this should read frompublic ddf.minim.spi.AudioRecordingStream getStream()
public void play()
public void play(int millis)
millis
from the beginning.
If this was previously set to loop, looping will be disabled.public void rewind()
public void loop()
public void loop(int loopCount)
loopCount
times.
If this is already playing,
the position will not be reset to the beginning.
If this is not playing, it will start playing.public int loopCount()
public int length()
public int position()
public void cue(int millis)
millis
milliseconds from
the beginning. This will not change the play state. If an error
occurs while trying to cue, the position will not change.
If you try to cue to a negative position or try to a position
that is greater than length()
, the amount will be clamped
to zero or length()
.public void skip(int millis)
millis
from the current position. millis
can be negative, which will make this skip backwards. If the skip amount
would result in a negative position or a position that is greater than
length()
, the new position will be clamped to zero or
length()
.public boolean isLooping()
public boolean isPlaying()
public AudioMetaData getMetaData()
getMetaData
in interface Playable
AudioMetaData
public void setLoopPoints(int start, int stop)
setLoopPoints
in interface Playable
start
- int: the start of the loop in millisecondsstop
- int: the end of the loop in millisecondspublic void close()
protected void uGenerate(float[] channels)
UGen
getLastValues
method of your audio UGenInput to
retrieve the audio you want to modify, which you will then modify however
you need to, assigning the result to the values in channels
.