38 lines
912 B
Java
38 lines
912 B
Java
package moe.oko.Kiafumi.model.audio;
|
|
|
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
|
|
import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame;
|
|
import net.dv8tion.jda.api.audio.AudioSendHandler;
|
|
|
|
import java.nio.ByteBuffer;
|
|
|
|
/**
|
|
* Imported from SHIRO project.
|
|
* License for Kiafumi still applies
|
|
* @author Kay
|
|
*/
|
|
public class AudioPlayerSendHandler implements AudioSendHandler {
|
|
private final AudioPlayer audioPlayer;
|
|
private AudioFrame lastFrame;
|
|
|
|
public AudioPlayerSendHandler(AudioPlayer audioPlayer) {
|
|
this.audioPlayer = audioPlayer;
|
|
}
|
|
|
|
@Override
|
|
public boolean canProvide() {
|
|
lastFrame = audioPlayer.provide();
|
|
return lastFrame != null;
|
|
}
|
|
|
|
@Override
|
|
public ByteBuffer provide20MsAudio() {
|
|
return ByteBuffer.wrap(lastFrame.getData());
|
|
}
|
|
|
|
@Override
|
|
public boolean isOpus() {
|
|
return true;
|
|
}
|
|
}
|