我正在使用JDA(Java)为Discord创建一个机器人。尝试让我的机器人在语音通道中播放音乐时遇到问题。
问题在下面的代码中
public static void startPlaying(net.dv8tion.jda.core.entities.Guild guild) {
//Player player = getMyURLPlayer(guild.getJDA());
FilePlayer player = getMyFilePlayer();
//DiscordBot.bot.getAudioManager(guild).setSendingHandler(player);
guild.setSendingHandler(player);
System.out.println("Player.play is getting executed...");
player.play();
}
在上面的代码中,根据eclipse,以下行是不正确的
guild.setSendingHandler(player);
它说
The method setSendingHandler(FilePlayer) is undefined for the type Guild
最佳答案
我假设您正在根据发布的代码引用http://jda.readthedocs.io/en/latest/pages/audio.html。该站点上的文档已过期。它不仅不完整且略有不正确,而且还适用于JDA1.x。 JDA当前在3.x中,并且发生了重大变化。
此外,由于JDA中的FilePlayer(和URLPlayer)不完整且示例存在问题,因此已从JDA中完全删除。为了正确实现AudioSendHandler
和播放器系统,请考虑使用Lavaplayer。
Lavaplayer具有JDA here的示例目录
如果您有任何疑问,请随时加入JDA Discord Guild并提问。还有一个专门用于Lavaplayer支持的频道。