Alterar o volume do sistema OS X programaticamente

Como posso alterar o volume programaticamente do Objective-C?

Eu encontrei essa perguntaControlando o volume do OS X no Snow Leopard o que sugere fazer:

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);

Isso não faz nada para mim e imprimestatus is 2003332927.

Eu também tentei usar valores2 e0 noaddress estrutura, mesmo resultado para ambos.

Como posso corrigir isso e diminuir o volume para 50%?

questionAnswers(3)

yourAnswerToTheQuestion