如何以編程方式從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