3

无论我使用MPMoviePlayerController还是AVPlayer( AVFoundation),iOS 都不允许设备在播放视频时自动锁定(进入睡眠模式)。

我有一个案例,一个非常慢的视频在后台循环播放。播放此视频时,设备永远不会进入睡眠状态。

到目前为止,我唯一的选择是检测用户何时没有进行任何操作,然后暂停视频。之后,设备会倒计时 iOS 设置中指定的“自动锁定”持续时间。

我正在寻找一种替代方案,AVPlayer这将使这成为可能。

类似的问题:

如何在播放视频时允许 iPhone 自动锁定

是否可以设置 AVPlayer 以允许设备在视频播放期间进入睡眠状态?

如何在 MPMoviePlayer 播放期间启用 iPhone 自动锁定?

我有一个想法在 a 中使用 HTML5 视频UIWebView,但 iOS 不允许在这些视频上自动播放。

4

2 回答 2

5

请记住,这是私有 API,我不确定您是否可以将其用于应用商店发布。

在 iOS 9 上测试。

AVPlayer *player = // alloc init...
if ([player respondsToSelector:NSSelectorFromString(@"_preventsSleepDuringVideoPlayback")]) {
    [player setValue:@(NO) forKey:@"preventsSleepDuringVideoPlayback"];
}
于 2016-06-24T16:56:43.130 回答
4

在 iOS 12 中,现在可以通过设置

let player = AVPlayer()
player.preventsDisplaySleepDuringVideoPlayback = false

请参阅:https ://developer.apple.com/documentation/avfoundation/avplayer/2990522-preventsdisplaysleepduringvideop#

于 2018-10-22T09:17:09.650 回答