public class FilePlayer extends UGen implements Playable
UGen.InputType, UGen.UGenInput
Constructor and Description |
---|
FilePlayer(AudioRecordingStream iFileStream)
Construct a FilePlayer that will read from iFileStream.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Calling close will close the AudioStream 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.
|
AudioRecordingStream |
getStream()
Returns the wrapped 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 n)
Sets this to loop
num 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.
|
addInput, getLastValues, patch, patch, patch, printInputs, removeInput, sampleRate, sampleRateChanged, setAudioChannelCount, setSampleRate, tick, unpatch, unpatch
public FilePlayer(AudioRecordingStream iFileStream)
iFileStream
- the AudioRecordingStream this should read frompublic AudioRecordingStream getStream()
public void play()
Playable
public void play(int millis)
Playable
millis
from the beginning.
If this was previously set to loop, looping will be disabled.public void pause()
Playable
public void rewind()
Playable
public void loop()
Playable
public void loop(int n)
Playable
num
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()
Playable
public int length()
Playable
public int position()
Playable
public void cue(int millis)
Playable
millis
milliseconds from
the beginning. This will not change the playstate. 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)
Playable
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()
Playable
public boolean isPlaying()
Playable
public AudioMetaData getMetaData()
getMetaData
in interface Playable
public void setLoopPoints(int start, int stop)
Playable
setLoopPoints
in interface Playable
start
- the start of the loop in millisecondsstop
- 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
.