如何更改循环播放的剪辑音量?

时间:2014-05-11 07:21:53

标签: java javasound

我正在破坏我的大脑如何改变已经在循环模式下播放的Clip的音量。我目前的代码是:

Clip c = currentSound.getClip();
FloatControl gainControl = 
    (FloatControl) c.getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(-10.0f);

currentSound.loop(loopCount);

我的假设是,一旦循环开始,音量就无法改变,是吗?

2 个答案:

答案 0 :(得分:1)

  

我的假设是,一旦循环开始,音量就无法改变,是吗?

没有。如果可以更改Clip卷,则可以随时更改该卷。

答案 1 :(得分:0)

或者,如果您想实时控制Clip卷,则可以使用AudioCue。它是一个小型库,并且在Clip类上进行了尽可能紧密的建模。可以像在Java中那样保证音量控制,而不必依赖依赖操作系统和硬件提供的功能的FloatControl,并且更改是按帧分布的,而不是仅按每个缓冲区的边界。