public class AudioPlayer extends AudioSource implements Playable
AudioPlayer
is used for playing an
AudioRecording
. Strictly speaking, you don't need an
AudioPlayer
to play an AudioRecording
, because
the recording is itself Playable
. However, an
AudioPlayer
does you the favor of providing
AudioBuffer
s that are sync'd with the recording's output as
well as providing direct control over the DataLine
being used
to transmit the recording to the system. You can get an
AudioPlayer
by calling Minim.loadFile(String)
, but
you can also construct one yourself if you've written your own implementation
of AudioRecording
.left, mix, right
BALANCE, GAIN, MUTE, PAN, SAMPLE_RATE, VOLUME
Constructor and Description |
---|
AudioPlayer(AudioRecordingStream recording,
AudioOut out)
Constructs an
AudioPlayer that plays recording . |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the
AudioStream this was constructed with. |
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.
|
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. |
addEffect, addListener, bufferSize, clearEffects, disableEffect, disableEffect, effectCount, effects, enableEffect, enableEffect, getEffect, getFormat, hasEffect, isEffected, isEnabled, noEffects, removeEffect, removeEffect, removeListener, sampleRate, type
balance, gain, getBalance, getControl, getControls, getGain, getPan, getVolume, hasControl, isMuted, mute, pan, printControls, setBalance, setGain, setPan, setVolume, shiftBalance, shiftGain, shiftPan, shiftVolume, unmute, volume
public AudioPlayer(AudioRecordingStream recording, AudioOut out)
AudioPlayer
that plays recording
.
It is expected that recording
will have a
DataLine
to control. If it doesn't, any calls to
Controller
's methods will result in a
NullPointerException
.recording
- the AudioRecording
to playpublic 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()
AudioSource
AudioStream
this was constructed with.close
in class AudioSource