=Fixing Youtube Player

This commit is contained in:
Alex
2019-10-19 02:56:11 -04:00
parent dfbf646abc
commit 462bb58ead
13 changed files with 216 additions and 355 deletions
+1 -106
View File
@@ -49,110 +49,6 @@ import utils.GlobalLog;
@SuppressWarnings("unused")
public class Main extends ListenerAdapter
{
public class AudioPlayerSendHandler implements AudioSendHandler
{
private final AudioPlayer audioPlayer;
private AudioFrame lastFrame;
public AudioPlayerSendHandler(AudioPlayer audioPlayer)
{
this.audioPlayer = audioPlayer;
}
@Override
public boolean canProvide()
{
lastFrame = audioPlayer.provide();
return lastFrame != null;
}
@Override public byte[] provide20MsAudio()
{
return lastFrame.getData();
}
@Override public boolean isOpus()
{
return true;
}
}
public class SmallAudio implements AudioLoadResultHandler
{
private TextChannel channel;
private Guild guild;
private AudioPlayer player;
private SmallAudio(TextChannel channel, Guild guild, AudioPlayer player)
{
this.channel = channel;
this.player = player;
this.guild = guild;
}
@Override public void loadFailed(FriendlyException arg0) { }
@Override public void noMatches() { }
@Override public void playlistLoaded(AudioPlaylist arg0) { }
@Override
public void trackLoaded(AudioTrack track)
{
connectToFirstVoiceChannel(guild.getAudioManager());
player.startTrack(track, false);
}
private void connectToFirstVoiceChannel(AudioManager audioManager)
{
if (!audioManager.isConnected() && !audioManager.isAttemptingToConnect())
{
for (VoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels())
{
audioManager.openAudioConnection(voiceChannel);
break;
}
}
}
}
public final AudioPlayerManager playerManager;
public final AudioPlayer player;
// Initialization and setup
public static void main(String[] args) throws InterruptedException, LoginException, Exception
{
JDA bot = new JDABuilder(AccountType.BOT).setToken(Ref.TestToken).buildBlocking();
bot.addEventListener(new Main());
}
public Main()
{
this.playerManager = new DefaultAudioPlayerManager();
this.player = playerManager.createPlayer();
AudioSourceManagers.registerRemoteSources(playerManager);
AudioSourceManagers.registerLocalSource(playerManager);
}
@Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event)
{
if(event.getMessage().getContentRaw().contains("!hasan"))
{
final TextChannel channel = event.getChannel();
final Guild guild = channel.getGuild();
guild.getAudioManager().setSendingHandler(new AudioPlayerSendHandler(player));
playerManager.loadItemOrdered(player, "https://www.youtube.com/watch?v=qL-JCVA22Lo", new SmallAudio(channel, guild, player));
}
super.onGuildMessageReceived(event);
}
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------
// Variables and bot specific objects
private static KittyCore kittyCore;
private static DatabaseManager databaseManager;
@@ -236,5 +132,4 @@ public class Main extends ListenerAdapter
if(!Superintendent.perCommandUpkeepPost(kittyCore, databaseManager))
return;
}
}
*/
}