防止屏幕变暗并在OS X上显示睡眠状态

时间:2013-04-02 02:58:38

标签: macos cocoa power-management iokit

我正在制作适用于OS X 10.7及更高版本播放视频的应用。任何文档都可以使用标准的全屏命令全屏显示。

只要我的应用中的任何文档正在播放,我就要阻止自动屏幕变暗并显示睡眠状态。

理想情况下,所有播放视频的结束(或暂停)应该开始全显示睡眠定时器 - 3分钟显示睡眠延迟不应该在最后一个视频结束后1分37秒用完因为某些东西正在检查或者每隔3分钟打乱一次计时器。

我也不想完全禁用显示器睡眠。如果我的程序崩溃或强行退出或电源耗尽,用户的显示器睡眠设置应保持不变。

确保播放不被视为“空闲”的最佳方法是什么,但是一旦播放完成,空闲后显示睡眠正常工作?

1 个答案:

答案 0 :(得分:4)

使用IOPMAssertionCreateWithName()播放期间接听电源断言,完成后释放。功率断言处理unexpected process termination correctly

  

断言应该与IOPMAssertionRelease一起发布。但是,即使没有正确释放,当进程退出,死亡或崩溃时,断言也会自动释放。崩溃的过程不会无限期地阻止空闲睡眠。