= Player isolation
This commit is contained in:
+12
-31
@@ -52,16 +52,11 @@ public class Main extends ListenerAdapter
|
|||||||
public class GuildMusicManager
|
public class GuildMusicManager
|
||||||
{
|
{
|
||||||
public final AudioPlayer player;
|
public final AudioPlayer player;
|
||||||
|
|
||||||
public GuildMusicManager(AudioPlayerManager manager)
|
public GuildMusicManager(AudioPlayerManager manager, Guild guild)
|
||||||
{
|
{
|
||||||
player = manager.createPlayer();
|
player = manager.createPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public AudioPlayerSendHandler getSendHandler()
|
|
||||||
{
|
|
||||||
return new AudioPlayerSendHandler(player);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AudioPlayerSendHandler implements AudioSendHandler
|
public class AudioPlayerSendHandler implements AudioSendHandler
|
||||||
@@ -96,12 +91,12 @@ public class Main extends ListenerAdapter
|
|||||||
{
|
{
|
||||||
private TextChannel channel;
|
private TextChannel channel;
|
||||||
private Guild guild;
|
private Guild guild;
|
||||||
private GuildMusicManager manager;
|
private AudioPlayer player;
|
||||||
|
|
||||||
private SmallAudio(TextChannel channel, Guild guild, GuildMusicManager manager)
|
private SmallAudio(TextChannel channel, Guild guild, AudioPlayer player)
|
||||||
{
|
{
|
||||||
this.channel = channel;
|
this.channel = channel;
|
||||||
this.manager = manager;
|
this.player = player;
|
||||||
this.guild = guild;
|
this.guild = guild;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +108,7 @@ public class Main extends ListenerAdapter
|
|||||||
public void trackLoaded(AudioTrack track)
|
public void trackLoaded(AudioTrack track)
|
||||||
{
|
{
|
||||||
connectToFirstVoiceChannel(guild.getAudioManager());
|
connectToFirstVoiceChannel(guild.getAudioManager());
|
||||||
manager.player.startTrack(track, false);
|
player.startTrack(track, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void connectToFirstVoiceChannel(AudioManager audioManager)
|
private void connectToFirstVoiceChannel(AudioManager audioManager)
|
||||||
@@ -147,32 +142,16 @@ public class Main extends ListenerAdapter
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final AudioPlayerManager playerManager;
|
public final AudioPlayerManager playerManager;
|
||||||
private final Map<Long, GuildMusicManager> musicManagers;
|
public final AudioPlayer player;
|
||||||
|
|
||||||
public Main()
|
public Main()
|
||||||
{
|
{
|
||||||
this.musicManagers = new HashMap<>();
|
|
||||||
|
|
||||||
this.playerManager = new DefaultAudioPlayerManager();
|
this.playerManager = new DefaultAudioPlayerManager();
|
||||||
|
this.player = playerManager.createPlayer();
|
||||||
AudioSourceManagers.registerRemoteSources(playerManager);
|
AudioSourceManagers.registerRemoteSources(playerManager);
|
||||||
AudioSourceManagers.registerLocalSource(playerManager);
|
AudioSourceManagers.registerLocalSource(playerManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized GuildMusicManager getGuildAudioPlayer(Guild guild)
|
|
||||||
{
|
|
||||||
long guildId = Long.parseLong(guild.getId());
|
|
||||||
GuildMusicManager musicManager = musicManagers.get(guildId);
|
|
||||||
|
|
||||||
if (musicManager == null) {
|
|
||||||
musicManager = new GuildMusicManager(playerManager);
|
|
||||||
musicManagers.put(guildId, musicManager);
|
|
||||||
}
|
|
||||||
|
|
||||||
guild.getAudioManager().setSendingHandler(musicManager.getSendHandler());
|
|
||||||
|
|
||||||
return musicManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildMessageReceived(GuildMessageReceivedEvent event)
|
public void onGuildMessageReceived(GuildMessageReceivedEvent event)
|
||||||
{
|
{
|
||||||
@@ -181,8 +160,10 @@ public class Main extends ListenerAdapter
|
|||||||
final TextChannel channel = event.getChannel();
|
final TextChannel channel = event.getChannel();
|
||||||
final Guild guild = channel.getGuild();
|
final Guild guild = channel.getGuild();
|
||||||
|
|
||||||
GuildMusicManager musicManager = getGuildAudioPlayer(guild);
|
System.out.println("Attempting to play");
|
||||||
playerManager.loadItemOrdered(musicManager, "https://www.youtube.com/watch?v=qL-JCVA22Lo", new SmallAudio(channel, guild, musicManager));
|
GuildMusicManager noDispose = new GuildMusicManager(playerManager, guild);
|
||||||
|
guild.getAudioManager().setSendingHandler(new AudioPlayerSendHandler(player));
|
||||||
|
playerManager.loadItemOrdered(noDispose, "https://www.youtube.com/watch?v=qL-JCVA22Lo", new SmallAudio(channel, guild, player));
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onGuildMessageReceived(event);
|
super.onGuildMessageReceived(event);
|
||||||
|
|||||||
Reference in New Issue
Block a user