我需要一种方法来改变osx 10.11中的音量(并使音量静音)
10.11之前有一种方式,代码是
AudioObjectPropertyAddress propertyAddress = {
kAudioHardwareServiceDeviceProperty_VirtualMasterVolume,
kAudioDevicePropertyScopeOutput,
kAudioObjectPropertyElementMaster
};
AudioHardwareServiceSetPropertyData([self.class defaultOutputDeviceID],
&propertyAddress,
0,
NULL,
sizeof(Float32),
&volume);
但这不再适用于10.11
我找到的另一种方法是使用applescript
NSAppleScript* asdown = [[NSAppleScript alloc] initWithSource:@"output volume of (get volume settings)"];
NSAppleEventDescriptor *result = [asdown executeAndReturnError:nil];
NSAppleScript* asdown2 = [[NSAppleScript alloc] initWithSource:[NSString stringWithFormat: @"set volume output volume (%@ - 6.25)", [result stringValue]]];
NSAppleEventDescriptor *result2 = [asdown2 executeAndReturnError:nil];
但是我不想这样使用这种方式,因为当屏幕关闭时,大约30秒后它不再响应命令
那么有没有办法让我能够在不使用applescript的情况下更改运行10.11的mac的音量?