您可能会认为这是一个不可接受的黑客,但它在我写的MP3播放器中有效.它需要为其中一个JLayer类添加一个小代码.
将以下方法添加到javazoom.jl.player.JavaSoundAudioDevice.
public void setLineGain(float gain) { if (source != null) { FloatControl volControl = (FloatControl) source.getControl(FloatControl.Type.MASTER_GAIN); float newGain = Math.min(Math.max(gain, volControl.getMinimum()), volControl.getMaximum()); volControl.setValue(newGain); } }
然后,这个新方法允许您使用这样的代码更改卷.
if (audio instanceof JavaSoundAudioDevice) { JavaSoundAudioDevice jsAudio = (JavaSoundAudioDevice) audio; jsAudio.setLineGain(yourGainGoesHere); }