2014-01-08 2 views
1

OSX Mavericks를 실행하는 Mac에서 볼륨을 변경하려고합니다. 현재이 코드를 사용 중입니다.Java Change Volume OSX

그러나 오류는 발생하지 않지만 볼륨은 변경되지 않습니다. 나는 터미널에서 같은 명령을 실행 시도하고 일했다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+4

시도해보십시오. String [] cmd = { "osascript", "-e", "volume 15"}}; Runtime.getRuntime(). exec (cmd); 어쩌면 – gtgaxiola

+0

[Java 용 OS X의 통합 (https://developer.apple.com/library/mac/documentation/Java/Conceptual/Java14Development/07-NativePlatformIntegration/NativePlatformIntegration.html) 당신도 할 수있는, 이론적으로 – gtgaxiola

+1

도움이 될 것입니다 FloatControl volume = (FloatControl) AudioSystem.getSourceDataLine (null) .getControl (FloatControl.Type.VOLUME); volume.setValue (15);'그러나 OSX에서는 시도하지 않았습니다. – VGR

답변

1

ProcessBuilder을 사용하고 명령의 세 부분 (osascript, -eset volume 15)을 명령에서 별도의 "단어"로 설정하십시오. 그럼 당신은 자바 오히려 (공백으로 인수를 처리 할 때 약간 하드 인) 자신을 위해 알아 내려고 노력보다 당신을 위해 인용 올바른을 처리 할 수 ​​있습니다.

작은 따옴표는 대화 형 셸의 기능이며 osascript이 아닙니다.