我正在我的 GUI 中使用静音按钮,直到现在我还没有想出一种方法可以做到这一点,所以我想减少分贝并在每次点击时增加它们。所以当我点击静音按钮时,我有:
for (int i=1; i<clips.length; i++) {
FloatControl gainControl =
(FloatControl) clips[i].getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(-60.0f);
}
而且效果很好。但是当我做相反的事情(意思是 +60.0f)时,我得到 IllegalArgumentException:请求的值 60.0 超过允许的最大值 6.0206。
我像这样加载剪辑:
AudioInputStream i1 = AudioSystem.getAudioInputStream(Game.class.getResource("clips/1.wav"));
clips[1] = AudioSystem.getClip();
clips[1].open(i1);
有没有办法用我的方法绕过这个,或者有人知道更好的方法来做我想做的事吗?任何帮助是极大的赞赏。