From 4749216320da6d8adac202f468c759db18a8b735 Mon Sep 17 00:00:00 2001 From: "Yukai (Donald) Shan" Date: Wed, 7 Dec 2022 10:03:23 -0800 Subject: Add files via upload --- audio/AudioPlayerSendHandler.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 audio/AudioPlayerSendHandler.java (limited to 'audio/AudioPlayerSendHandler.java') diff --git a/audio/AudioPlayerSendHandler.java b/audio/AudioPlayerSendHandler.java new file mode 100644 index 0000000..fb79ea7 --- /dev/null +++ b/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