好吧,所以我正在尝试使片段的音量在我的客户登录后逐渐降低

问题是,我需要改变这个

FloatControl gainControl = (FloatControl)
clip.getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(-10.0f);//

进入for循环,我不确定如何做到这一点

我是新来的,所以我不确定事情如何运作,因此,如果我缺少任何信息,请告诉我

编辑:我明白了,这是有类似问题的任何人的代码
FloatControl gainControl = (FloatControl)
clip.getControl(FloatControl.Type.MASTER_GAIN);
for(int i = 0; i >= -35; --i) {
    try {
        Thread.sleep(160);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    gainControl.setValue((float) i);
}

最佳答案

怎么样:

FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);

for(int i = 0; i >= -10; --i) {
   gainControl.setValue((double) i);
}

如果要减少分数,可以执行以下操作:
for(int i = 0; i >= -50; --i) {
   gainControl.setValue(0.2 * i);
}

在第二种情况下,您将音量降低了0.2。

我使用int是因为浮点有导致>=条件句出现问题的趋势。

09-19 20:48