1

重複の可能性:
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)

私もこの例を試しました....しかし、同じ例外がスローされます。

4

0 に答える 0