用Java调高/调低计算机音量?
我只需要一个命令就可以上下调节计算机的主音量(100%/0%)。 我知道我可以使用浮动控件,但我不知道如何使用它。请看一下 从链接:用Java调高/调低计算机音量?,java,audio,javasound,Java,Audio,Javasound,我只需要一个命令就可以上下调节计算机的主音量(100%/0%)。 我知道我可以使用浮动控件,但我不知道如何使用它。请看一下 从链接: Mixer.Info [] mixers = AudioSystem.getMixerInfo(); System.out.println("There are " + mixers.length + " mixer info objects"); for (Mixer.Info mixerInfo : mixers) { System.o
Mixer.Info [] mixers = AudioSystem.getMixerInfo();
System.out.println("There are " + mixers.length + " mixer info objects");
for (Mixer.Info mixerInfo : mixers)
{
System.out.println("Mixer name: " + mixerInfo.getName());
Mixer mixer = AudioSystem.getMixer(mixerInfo);
Line.Info [] lineInfos = mixer.getTargetLineInfo(); // target, not source
for (Line.Info lineInfo : lineInfos)
{
System.out.println(" Line.Info: " + lineInfo);
Line line = null;
boolean opened = true;
try
{
line = mixer.getLine(lineInfo);
opened = line.isOpen() || line instanceof Clip;
if (!opened)
{
line.open();
}
FloatControl volCtrl = (FloatControl)line.getControl(FloatControl.Type.VOLUME);
System.out.println(" volCtrl.getValue() = " + volCtrl.getValue());
}
catch (LineUnavailableException e)
{
e.printStackTrace();
}
catch (IllegalArgumentException iaEx)
{
System.out.println(" " + iaEx);
}
finally
{
if (line != null && !opened)
{
line.close();
}
}
}
}
播放特定音频剪辑时可以使用
FloatControl
:
AudioInputStream audioInputStream =
AudioSystem.getAudioInputStream(new File("MyClip.wav"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
FloatControl volumeControl =
(FloatControl) clip.getControl(FloatControl.Type.VOLUME);
volumeControl.setValue(10.0f); // Increase volume by 10 decibels.
clip.start();
另请参见:考虑将该链接中的一些信息放在您的答案正文中。是的,这样更好,谢谢:)我之所以这么问,是因为只链接的答案并不被认为特别好。是的,很抱歉。我只是不想从链接中复制太多信息,然后就被否决了。请看坏消息。这个来源(以及这个问题的一般性)。请参阅以了解坏消息。不幸的是,所有可用的Java声音控件实际上都不会影响系统音量。有关详细信息,请参见我的链接问答。