在播放视频时允许“自动锁定”

时间:2015-06-10 15:30:20

标签: ios video mpmovieplayercontroller avplayer auto-lock

无论我使用MPMoviePlayerController还是AVPlayerAVFoundation),iOS都不允许设备自动锁定(进入睡眠模式)。

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

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

我正在寻找AVPlayer的替代方案,以实现这一目标。

类似的问题:

How to allow iPhone auto-lock while playing a video

Is it possible to set AVPlayer to allow the device to go to sleep during video playback?

How to enable iPhone auto lock during MPMoviePlayer playback?

我有一个想法在UIWebView内使用HTML5视频,但iOS不允许对其进行自动播放。

2 个答案:

答案 0 :(得分:6)

请记住,这是私有API,我不确定您是否可以将其用于appstore版本。

在iOS 9上测试。

AVPlayer *player = // alloc init...
if ([player respondsToSelector:NSSelectorFromString(@"_preventsSleepDuringVideoPlayback")]) {
    [player setValue:@(NO) forKey:@"preventsSleepDuringVideoPlayback"];
}

答案 1 :(得分:1)

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

 arrayValue.sort(function(obj1, obj2) {
   return obj2.index- obj1.index; // Descending order.
 });

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