Allow "auto lock" while video is being played
Asked Answered
B

2

3

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.

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.

Bristling answered 10/6, 2015 at 15:30 Comment(0)
E
5

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"];
}
Eighteenmo answered 24/6, 2016 at 16:56 Comment(3)
If it's private API, it's never ok to use in an AppStore release. You might get away with it, but you won't be able to tell when your code breaks, and Apple might suddenly reject your app.Tobit
@David Do you have any other suggestion ?Eighteenmo
Anyone got this selector stuff working in Swift 4.1?Gatehouse
T
5

With iOS 12 this is now possible by setting

let player = AVPlayer()
player.preventsDisplaySleepDuringVideoPlayback = false

See: https://developer.apple.com/documentation/avfoundation/avplayer/2990522-preventsdisplaysleepduringvideop#

Tawanda answered 22/10, 2018 at 9:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.