Page Menu
Home
desp's stash
Search
Configure Global Search
Log In
Files
F399211
AudioPlayerSendHandler.java
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
AudioPlayerSendHandler.java
View Options
package
me.despawningbone.discordbot.command.music
;
import
java.nio.ByteBuffer
;
import
com.sedmelluq.discord.lavaplayer.player.AudioPlayer
;
import
com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame
;
import
net.dv8tion.jda.api.audio.AudioSendHandler
;
/**
* Boilerplate class entirely from https://github.com/sedmelluq/lavaplayer/tree/master/demo-jda/src/main/java/com/sedmelluq/discord/lavaplayer/demo/jda
* <p>
* This is a wrapper around AudioPlayer which makes it behave as an AudioSendHandler for JDA. As JDA calls canProvide
* before every call to provide20MsAudio(), we pull the frame in canProvide() and use the frame we already pulled in
* provide20MsAudio().
*/
public
class
AudioPlayerSendHandler
implements
AudioSendHandler
{
private
final
AudioPlayer
audioPlayer
;
private
AudioFrame
lastFrame
;
/**
* @param audioPlayer Audio player to wrap.
*/
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
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Thu, Oct 9, 7:29 AM (10 h, 31 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
19/d0/5b37917d66b357e64ea404648f7c
Attached To
rDESB despbot
Event Timeline
Log In to Comment