有没有什么办法可以在Java
中设置Clip
的体积?Java Clip的设置体积
我有这样的方法:
- 0::没有声音
- 40:
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
最优带耳机的声音 - 60:最佳音效
- 100:声音饱满
所以基本上这应该是一样的VLC
规模(但一半因为VLC是从0 to 200
)。
我发现我可以用volume.setValue(-10f);
降低剪辑的分贝,但我宁愿型volume.setValue(clip.getMaxVolume() * Settings.getSettings().getVolume()/100)
的东西。
其中clip.getMaxVolume()
将返回剪辑的最大音量。
'gainControl.getMinimum()'是否必要?我的方法不行吗? (两个版本都有效)。 –
如果两个版本都能正常工作,请使用不带'gainControl.getMinimum()'的版本,因为它的速度要快一些。 – Squiddie
我只用一个文件试过这个,这就是为什么我问,你认为其他文件可能不适用于我的方法? –