2

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

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

理想情况下,所有播放视频的结束(或暂停)应启动全屏休眠计时器——3 分钟的显示屏休眠延迟不应在最后一个视频结束后 1 分 37 秒用完,这仅仅是因为某些东西正在检查或中断每 3 分钟计时一次。

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

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

4

1 回答 1

4

在播放期间使用IOPMAssertionCreateWithName()进行电源断言,并在完成后释放它。电源断言正确处理意外的进程终止

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

于 2013-04-02T05:57:31.183 回答