22 lines
634 B
Kotlin
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
|
|
}
|
|
} |