【发布时间】:2016-11-09 19:53:40
【问题描述】:
有什么方法可以设置Clip在Java中的对应音量吗?
我有这个方法:
public static void play(Clip clip) {
if (Settings.getSettings().isVolumeOn()) {
FloatControl volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
volume.setValue(-1 * Settings.getSettings().getVolume());
clip.start();
}
}
Settings.getSettings().getVolume() 在0 - 100 的范围内返回一个Integer
卷:
- 0:没有声音
- 40 : 耳机的最佳音效
- 60:最佳声音
- 100:全声
所以基本上这应该像VLC 的规模(但一半,因为 VLC 来自0 to 200)。
我发现使用volume.setValue(-10f);可以降低剪辑的分贝
但我更喜欢volume.setValue(clip.getMaxVolume() * Settings.getSettings().getVolume()/100) 类型的东西。
clip.getMaxVolume() 将返回剪辑的最大音量。
【问题讨论】: