No matter whether I am using MPMoviePlayerController or AVPlayer (AVFoundation), the iOS does not allow the device to auto lock (to enter sleep mode) while the video is playing.
MPMoviePlayerController
AVPlayer
AVFoundation
I have a case where an extremely slow video is constantly being played in a loop in the background. While this video is playing, the device never goes to sleep.
So far, the only option I have is to detect when a user did not make any actions for a while and then pause the video. After that, the device counts down the "auto lock" duration that is specified in iOS Settings.
I am looking for an alternative to AVPlayer that will make this possible.
Similar questions:
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?
I had an idea to use HTML5 video inside a UIWebView, but iOS does not allow autoplay on those.
UIWebView
Remember this is private API, I'm not sure if you can use it for appstore release or not.
Tested on iOS 9.
AVPlayer *player = // alloc init... if ([player respondsToSelector:NSSelectorFromString(@"_preventsSleepDuringVideoPlayback")]) { [player setValue:@(NO) forKey:@"preventsSleepDuringVideoPlayback"]; }
2.1m questions
2.1m answers
60 comments
57.0k users