当前位置:  开发笔记 > 编程语言 > 正文

使用JLayer时在Java中更改卷

如何解决《使用JLayer时在Java中更改卷》经验,为你挑选了1个好方法。



1> ChrisH..:

您可能会认为这是一个不可接受的黑客,但它在我写的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);
}

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有