!7 import java.nio.ByteBuffer; import com.sedmelluq.discord.lavaplayer.player.*; import com.sedmelluq.discord.lavaplayer.player.event.*; import com.sedmelluq.discord.lavaplayer.demo.jda.TrackScheduler; import com.sedmelluq.discord.lavaplayer.track.*; import com.sedmelluq.discord.lavaplayer.track.playback.*; import com.sedmelluq.discord.lavaplayer.source.*; import com.sedmelluq.discord.lavaplayer.tools.*; import com.sedmelluq.discord.lavaplayer.format.*; //lib 1400286 // lavaplayer 1.3.22 lib 1400288 // lavaplayer fat lib 1400289 // httpclient lib 1400290 // httpcore lib 1400291 // commons-io lib 1400298 // lavaplayer libconnector.so lib 1002510 // jsoup lib 1400299 // apache-commons-logging lib 1011966 // slf4j-api-1.7.25.jar cmodule PlayWithLava > DynPrintLog { transient AudioPlayer player; switchable S radioURL = "http://s3.free-shoutcast.com:18162/;?type=http&nocache="; transient double bufferSeconds = 5.0; transient CircularFifoBuffer buffer = new(iround(bufferSeconds*50)); start-thread { AudioPlayerManager playerManager = lavaPlayer_playerManager(); player = playerManager.createPlayer(); lavaPlayer_printPlayerEvents(player); print("Have player"); lavaPlayer_loadItem(module(), playerManager, player, radioURL.replace("", str(randomInt()))); print("Track loaded"); doEvery(20, r { temp enter(); AudioFrame frame = player.provide(); if (frame == null) print("no frame"); else { buffer.add(frame.getData()); AudioDataFormat format = frame.getFormat(); print("timecode: " + frame.getTimecode() + ", length: " + frame.getDataLength() + ", format: " + shortClassName(format) + ", sampleRate: " + format.sampleRate + ", buf: " + buffer.size() + "/" + buffer.getBase()); } }); } void cleanMeUp { if (player != null) player.destroy(); } }