低音增强 - JDA Lavaplayer
Bass Boost - JDA Lavaplayer
当您将 Lavaplayer 与 JDA (Java Discord API) 一起使用时,您将如何创建低音增强命令?
有一个像!bassboost 0-100
这样的命令。
经过几个小时尝试不同的方法使其正常运行后,我最终使用了 Lavaplayer EqualizerFactory。
首先我从 here
复制了这些值
public static final float[] BASS_BOOST = {
0.2f,
0.15f,
0.1f,
0.05f,
0.0f,
-0.05f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f
};
然后我创建了一个新的 EqualizerFactory 并将其作为过滤器添加到公会音乐管理器中,还设置了帧缓冲持续时间以使 bass-boost 花费更少的时间生效,如下所示:
this.equalizer = new EqualizerFactory();
this.player.setFilterFactory(equalizer);
this.player.setFrameBufferDuration(500); // prevent bass boost taking time to take effect
然后我终于创建了一个小方法,您可以提供从 0-200 设置 bass-boost 级别
public void bassBoost(float percentage)
{
final float multiplier = percentage / 100.00f;
for (int i = 0; i < BASS_BOOST.length; i++)
{
equalizer.setGain(i, BASS_BOOST[i] * multiplier);
}
}
以便bass-boost对当前播放的歌曲生效我需要这个:
playerManager.getConfiguration().setFilterHotSwapEnabled(true);
仅此而已!
当您将 Lavaplayer 与 JDA (Java Discord API) 一起使用时,您将如何创建低音增强命令?
有一个像!bassboost 0-100
这样的命令。
经过几个小时尝试不同的方法使其正常运行后,我最终使用了 Lavaplayer EqualizerFactory。
首先我从 here
复制了这些值 public static final float[] BASS_BOOST = {
0.2f,
0.15f,
0.1f,
0.05f,
0.0f,
-0.05f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f,
-0.1f
};
然后我创建了一个新的 EqualizerFactory 并将其作为过滤器添加到公会音乐管理器中,还设置了帧缓冲持续时间以使 bass-boost 花费更少的时间生效,如下所示:
this.equalizer = new EqualizerFactory();
this.player.setFilterFactory(equalizer);
this.player.setFrameBufferDuration(500); // prevent bass boost taking time to take effect
然后我终于创建了一个小方法,您可以提供从 0-200 设置 bass-boost 级别
public void bassBoost(float percentage)
{
final float multiplier = percentage / 100.00f;
for (int i = 0; i < BASS_BOOST.length; i++)
{
equalizer.setGain(i, BASS_BOOST[i] * multiplier);
}
}
以便bass-boost对当前播放的歌曲生效我需要这个:
playerManager.getConfiguration().setFilterHotSwapEnabled(true);
仅此而已!