重複の可能性:
Java アプリケーションでのボリュームの制御
アプリケーションからコンピュータの音量を制御する方法を探しています。次のような他の投稿でサンプルを見たことがあります。
Port lineIn = null;
FloatControl volCtrl = null;
try {
Mixer mixer = AudioSystem.getMixer(null);
lineIn = (Port) mixer.getLine(Port.Info.LINE_IN);
lineIn.open();
volCtrl = (FloatControl) lineIn
.getControl(FloatControl.Type.MASTER_GAIN);
volCtrl.setValue(volCtrl.getValue() + 10f);
} catch (Exception e) {
System.out.println("Failed trying to find LINE_IN"
+ " VOLUME control: exception = " + e);
lineIn.close();
}
この例はOracleページから取得されますが、例外がスローされます...
java.lang.IllegalArgumentException: Line unsupported: LINE_IN source port
at com.sun.media.sound.DirectAudioDevice.getLine(Unknown Source)
at core.ProtocolHandler.volumeUp(ProtocolHandler.java:223)
at core.ProtocolHandler.answer(ProtocolHandler.java:211)
at core.Server.run(Server.java:77)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at core.ProtocolHandler.volumeUp(ProtocolHandler.java:230)
at core.ProtocolHandler.answer(ProtocolHandler.java:211)
at core.Server.run(Server.java:77)
at java.lang.Thread.run(Unknown Source)
私もこの例を試しました....しかし、同じ例外がスローされます。