【问题标题】:Java Change Volume OSXJava 更改卷 OSX
【发布时间】:2014-01-08 15:09:52
【问题描述】:

我正在尝试更改运行 OSX Mavericks 的 Mac 上的音量。我目前正在使用此代码:

Runtime.getRuntime().exec("/usr/bin/osascript -e 'set volume 15'");

但是,尽管我没有收到任何错误,但音量并没有改变。我尝试从终端运行相同的命令并且它有效。我做错了什么?

【问题讨论】:

  • 试试:String[] cmd = {"osascript", "-e","set volume 15"}; Runtime.getRuntime().exec(cmd);
  • 也许OS X integration for Java 会有所帮助
  • 理论上你也可以FloatControl volume = (FloatControl) AudioSystem.getSourceDataLine(null).getControl(FloatControl.Type.VOLUME); volume.setValue(15);但是我在OSX没有试过。

标签: java macos volume osx-mavericks


【解决方案1】:

使用ProcessBuilder,并将命令的三个部分(osascript-eset volume 15)设置为命令中单独的“单词”。然后,您将让 Java 为您处理正确的引用,而不是试图自己弄清楚(这在处理带空格的参数时有点困难)。

单引号是交互式 shell 的一个特性,而不是 osascript

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多