Page Menu
Home
desp's stash
Search
Configure Global Search
Log In
Files
F373917
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
;
/**
* 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
Fri, Aug 1, 9:42 AM (12 h, 3 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
9c/19/c5c79131de2c714d46e6ad5771ca
Attached To
rDESB despbot
Event Timeline
Log In to Comment