在Mac OS X应用中调整屏幕亮度

ixany

我想控制Mac OS X应用程序中主屏幕的亮度(例如F1 / F2按钮)。在iOS中,是这样的:

UIScreen.mainScreen().brightness = CGFloat(0.5)

在OSX中,我们有NSScreen,可以很好地找出主屏幕是什么,但是错过了.brightness方法。

那么如何在OSX上使用Swift来调整显示器的亮度呢?

埃里克·艾雅

在OS X上没有这么好的API可以做到这一点。

我们必须使用IOServiceGetMatchingServices查找"IODisplayConnect"(显示设备),然后使用kIODisplayBrightnessKey来设置亮度:

func setBrightnessLevel(level: Float) {

    var iterator: io_iterator_t = 0

    if IOServiceGetMatchingServices(kIOMasterPortDefault, IOServiceMatching("IODisplayConnect"), &iterator) == kIOReturnSuccess {

        var service: io_object_t = 1

        while service != 0 {

            service = IOIteratorNext(iterator)
            IODisplaySetFloatParameter(service, 0, kIODisplayBrightnessKey, level)
            IOObjectRelease(service)

        }

    }
}

setBrightnessLevel(0.5)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章