如何以编程方式从objective-c更改卷?以编程方式更改OS X系统卷
我发现这个问题Controlling OS X volume in Snow Leopard这说明做:
Float32 volume = 0.5;
UInt32 size = sizeof(Float32);
AudioObjectPropertyAddress address = {
kAudioDevicePropertyVolumeScalar,
kAudioDevicePropertyScopeOutput,
1 // use values 1 and 2 here, 0 (master) does not seem to work
};
OSStatus err;
err = AudioObjectSetPropertyData(kAudioObjectSystemObject, &address, 0, NULL, size, &volume);
NSLog(@"status is %i", err);
这无助于我,并打印出status is 2003332927
。
我也尝试在address
结构中使用值2
和0
,两者的结果相同。
我该如何解决这个问题,并将其实际降低到50%?
您可以使用AppleScript轻松地做到这一点。 –
@TBlue:是的,我知道,但我宁愿直接在Objective-C中做。 – houbysoft
任何现在的见解? – hashier