私はJavaでかなり新しいです。私は、Javaアプリケーションで音量(音量を上げ下げ、ミュート)を制御する必要があります。私はこれを行う方法を見つけることができませんでした。私はLinuxシステム(情報用)を開発中です。Javaアプリケーションのボリュームを制御する
私は、このコード疲れ:
Javaコード:私は考えていない
私はJavaでかなり新しいです。私は、Javaアプリケーションで音量(音量を上げ下げ、ミュート)を制御する必要があります。私はこれを行う方法を見つけることができませんでした。私はLinuxシステム(情報用)を開発中です。Javaアプリケーションのボリュームを制御する
私は、このコード疲れ:
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);
}
が、私はあなたの助けをexecption
Failed trying to find LINE_IN VOLUME control: exception = java.lang.IllegalArgumentException: Line unsupported: COMPACT_DISC source port
感謝を得ていますVOLUMEという定数です。そのMASTER_GAIN。そうする必要があります
volCtrl = (floatControl) lineIn.getControl(FloatControl.Type.MASTER_GAIN);
volCtrl.setValue(you_custom_value);
コントロールがネストされることがあり、プラットフォームに依存しない解決が困難になることがあります。私はそのように使用されるユーティリティクラスを書いた:
Audio.setMasterOutputVolume(0.5f);
ソースコードはここにある:https://github.com/Kunagi/ilarkesto/blob/master/src/main/java/ilarkesto/media/Audio.java
StackOverflowのユーザーがWTFPLの条件の下でAudio.javaからコードを使用することができます。
コードに感謝しますが、それは私にとってはうまくいきません:S –
ubuntu 14.04 –
ではうまく動作しますが、Windows 8ではうまく動作しません。 –
* VOLUMEという定数があるか、コンパイルされません。 – wchargin