使用XCode以编程方式设置Mac OSX 10.11卷

时间:2015-12-01 18:57:07

标签: objective-c xcode macos

我需要一种方法来改变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的音量?

0 个答案:

没有答案