53 lines
1.2 KiB
Java
53 lines
1.2 KiB
Java
package handiebot.lavaplayer;
|
|
|
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
|
|
import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame;
|
|
import sx.blah.discord.handle.audio.AudioEncodingType;
|
|
import sx.blah.discord.handle.audio.IAudioProvider;
|
|
|
|
/**
|
|
* Created by Andrew's Computer on 18-Jun-17.
|
|
*/
|
|
public class AudioProvider implements IAudioProvider {
|
|
private final AudioPlayer audioPlayer;
|
|
private AudioFrame lastFrame;
|
|
|
|
/**
|
|
* @param audioPlayer Audio player to wrap.
|
|
*/
|
|
public AudioProvider(AudioPlayer audioPlayer) {
|
|
this.audioPlayer = audioPlayer;
|
|
}
|
|
|
|
@Override
|
|
public boolean isReady() {
|
|
if (lastFrame == null) {
|
|
lastFrame = audioPlayer.provide();
|
|
}
|
|
|
|
return lastFrame != null;
|
|
}
|
|
|
|
@Override
|
|
public byte[] provide() {
|
|
if (lastFrame == null) {
|
|
lastFrame = audioPlayer.provide();
|
|
}
|
|
|
|
byte[] data = lastFrame != null ? lastFrame.data : null;
|
|
lastFrame = null;
|
|
|
|
return data;
|
|
}
|
|
|
|
@Override
|
|
public int getChannels() {
|
|
return 2;
|
|
}
|
|
|
|
@Override
|
|
public AudioEncodingType getAudioEncodingType() {
|
|
return AudioEncodingType.OPUS;
|
|
}
|
|
}
|