控制java应用程序中的卷

Emr*_*mre 5 java volume

我是java的新手.我需要在java应用程序中控制音量(音量增大/减小,静音).我找不到办法做到这一点.我正在开发一个Linux系统(供参考).

我厌倦了这段代码:

Java代码:

Port lineIn;
FloatControl volCtrl;
try {
  mixer = AudioSystem.getMixer(null);
  lineIn = (Port)mixer.getLine(Port.Info.LINE_IN);
  lineIn.open();
  volCtrl = (FloatControl) lineIn.getControl(

      FloatControl.Type.VOLUME);
  // Assuming getControl call succeeds, 
  // we now have our LINE_IN VOLUME control.
} catch (Exception e) {
  System.out.println("Failed trying to find LINE_IN"
    + " VOLUME control: exception = " + e);
}
Run Code Online (Sandbox Code Playgroud)

但我得到了解释

Failed trying to find LINE_IN VOLUME control: exception = java.lang.IllegalArgumentException: Line unsupported: COMPACT_DISC source port
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

小智 -1

我不认为有一个叫做“VOLUME”的常数。它的MASTER_GAIN。所以你应该这样做

volCtrl = (floatControl) lineIn.getControl(FloatControl.Type.MASTER_GAIN);
volCtrl.setValue(you_custom_value);
Run Code Online (Sandbox Code Playgroud)