Loop function
This commit is contained in:
parent
c687cef65d
commit
4198f1e245
1 changed files with 15 additions and 1 deletions
|
|
@ -19,6 +19,8 @@ public class TrackManager extends AudioEventAdapter {
|
|||
|
||||
private final AudioPlayer player;
|
||||
private final Queue<AudioInfo> queue;
|
||||
private boolean loop = false;
|
||||
AudioTrack lastTrack;
|
||||
|
||||
public TrackManager(AudioPlayer player) {
|
||||
this.player = player;
|
||||
|
|
@ -48,7 +50,9 @@ public class TrackManager extends AudioEventAdapter {
|
|||
@Override
|
||||
public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
|
||||
Guild g = queue.poll().getAuthor().getGuild();
|
||||
if (queue.isEmpty()) {
|
||||
if (loop) {
|
||||
player.startTrack(lastTrack.makeClone(), false);
|
||||
} else if (queue.isEmpty()) {
|
||||
g.getAudioManager().closeAudioConnection();
|
||||
} else {
|
||||
player.playTrack(queue.element().getTrack());
|
||||
|
|
@ -67,6 +71,16 @@ public class TrackManager extends AudioEventAdapter {
|
|||
queue.remove(entry);
|
||||
}
|
||||
|
||||
public boolean isLoop()
|
||||
{
|
||||
return loop;
|
||||
}
|
||||
|
||||
public void setLoop(boolean repeating)
|
||||
{
|
||||
this.loop = repeating;
|
||||
}
|
||||
|
||||
public AudioInfo getTrackInfo(AudioTrack track) {
|
||||
return queue.stream().filter(audioInfo -> audioInfo.getTrack().equals(track)).findFirst().orElse(null);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue