Java变更卷OSX
我正在尝试更改运行OSX Mavericks的mac上的音量。我目前正在使用此代码:Java变更卷OSX,java,macos,volume,osx-mavericks,Java,Macos,Volume,Osx Mavericks,我正在尝试更改运行OSX Mavericks的mac上的音量。我目前正在使用此代码: Runtime.getRuntime().exec("/usr/bin/osascript -e 'set volume 15'"); 但是,尽管我没有收到任何错误,但音量没有改变。我试着从终端运行相同的命令,结果成功了。我做错了什么?使用ProcessBuilder,并将命令的三个部分(osascript、-e和设置第15卷)设置为命令中单独的“字”。然后,您将让Java为您处理正确的引用,而不是试图自己解
Runtime.getRuntime().exec("/usr/bin/osascript -e 'set volume 15'");
但是,尽管我没有收到任何错误,但音量没有改变。我试着从终端运行相同的命令,结果成功了。我做错了什么?使用
ProcessBuilder
,并将命令的三个部分(osascript
、-e
和设置第15卷
)设置为命令中单独的“字”。然后,您将让Java为您处理正确的引用,而不是试图自己解决它(这在处理带有空格的参数时有点困难)
单引号是交互式shell的一个功能,而不是
osascript
Try:String[]cmd={“osascript”、“-e”、“set volume 15”};Runtime.getRuntime().exec(cmd);理论上,您也可以做floatcontrolvolume=(FloatControl)AudioSystem.getSourceDataLine(null).getControl(FloatControl.Type.volume);体积。设定值(15)代码>但我还没有在OSX中尝试过。