From a1e8ba6d27f5d9496c3d389861c963d0a5e51295 Mon Sep 17 00:00:00 2001 From: Donald Shan Date: Mon, 5 Dec 2022 15:04:55 -0800 Subject: Add files via upload --- src/main/java/audio/AudioPlayerSendHandler.java | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/audio/AudioPlayerSendHandler.java (limited to 'src/main/java/audio/AudioPlayerSendHandler.java') diff --git a/src/main/java/audio/AudioPlayerSendHandler.java b/src/main/java/audio/AudioPlayerSendHandler.java new file mode 100644 index 0000000..fb79ea7 --- /dev/null +++ b/src/main/java/audio/AudioPlayerSendHandler.java @@ -0,0 +1,38 @@ +package audio; + +import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; +import com.sedmelluq.discord.lavaplayer.track.playback.MutableAudioFrame; +import java.nio.Buffer; +import net.dv8tion.jda.api.audio.AudioSendHandler; + +import java.nio.ByteBuffer; + +public class AudioPlayerSendHandler implements AudioSendHandler { + private final AudioPlayer audioPlayer; + private final ByteBuffer buffer; + private final MutableAudioFrame frame; + public AudioPlayerSendHandler(AudioPlayer audioPlayer) { + this.audioPlayer = audioPlayer; + this.buffer = ByteBuffer.allocate(1024); + this.frame = new MutableAudioFrame(); + this.frame.setBuffer(buffer); + } + + @Override + public boolean canProvide() { + // returns true if audio was provided + return audioPlayer.provide(frame); + } + + @Override + public ByteBuffer provide20MsAudio() { + // flip to make it a read buffer + ((Buffer) buffer).flip(); + return buffer; + } + + @Override + public boolean isOpus() { + return true; + } +} \ No newline at end of file -- cgit v1.2.3