2

動画を再生する OS X 10.7 以降用のアプリを作成しています。標準の全画面表示コマンドを使用して、任意のドキュメントを全画面表示できます。

アプリ内のドキュメントが再生されている限り、画面が自動的に暗くなり、ディスプレイがスリープ状態になるのを未然に防ぎたいです。

理想的には、再生中のすべてのビデオが終了 (または一時停止) すると、フル ディスプレイ スリープ タイマーが開始する必要があります。最後のビデオが終了してから 1 分 37 秒後に 3 分間のディスプレイ スリープ遅延が切れないようにする必要があります。 3分ごとにタイマー。

また、ディスプレイのスリープを完全に無効にしたくありません。プログラムがクラッシュしたり、強制終了したり、電源が切れたりした場合でも、ユーザーのディスプレイのスリープ設定はそのままにしておく必要があります。

再生が「アイドル」と見なされないようにする最善の方法は何ですか?ただし、再生が終了すると、アイドル後の表示スリープが正しく機能しますか?

4

1 に答える 1

4

再生中にIOPMAssertionCreateWithName()で電源アサーションを取得し、完了したら解放します。パワー アサーションは、予期しないプロセスの終了を正しく処理します

アサーションは IOPMAssertionRelease で解放する必要があります。ただし、適切に解放されなくても、プロセスが終了、終了、またはクラッシュすると、アサーションは自動的に解放されます。プロセスがクラッシュしても、アイドル スリープが無期限に妨げられることはありません。

于 2013-04-02T05:57:31.183 に答える