【问题标题】:Controlling volume of a Clip when using Java Sound (javax,sound.sampled)使用 Java Sound (javax,sound.sampled) 时控制剪辑的音量
【发布时间】:2011-03-30 13:41:13
【问题描述】:

我正在使用 Java 声音通过 Clip.start() 方法播放多个声音样本。

鉴于此,控制播放音量的最佳方法是什么?

特别是,我非常希望该解决方案能够跨平台可靠地工作。

【问题讨论】:

    标签: java audio sampling


    【解决方案1】:

    将金额添加到您的音量中: FloatControl 音量 = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN); volume.setValue(volume.getValue()+gainAmount)

    将音量设置为从 -80.0 到 6.0206 的某个量: FloatControl 音量 = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN); volume.setValue(volume.getValue()+gainAmount)

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案2】:
    FloatControl volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
    volume.setValue(gainAmount);
    

    只需将gainAmount 替换为代表增益的浮点数(以分贝为单位)。可以是正面的也可以是负面的。

    【讨论】:

    • 什么是负值? o.O
    • @T_01 -3 表示减少 2 倍,-6 表示减少 4 倍,-10 表示减少 10 倍等。(对数刻度)参见Wikipedia
    猜你喜欢
    • 2012-12-27
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    相关资源
    最近更新 更多