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%?