ottobotv2/src/main/kotlin/nl/voidcorp/discord/music/AudioPlayerSendHandler.kt

22 lines
634 B
Kotlin

package nl.voidcorp.discord.music
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
class AudioPlayerSendHandler(private val audioPlayer: AudioPlayer) : AudioSendHandler {
private var lastFrame: AudioFrame? = null
override fun canProvide(): Boolean {
lastFrame = audioPlayer.provide()
return lastFrame != null
}
override fun provide20MsAudio() = ByteBuffer.wrap(lastFrame!!.data)
override fun isOpus(): Boolean {
return true
}
}