It's possible but not without a bit of a skip in playback - the video will stop automatically, but since your app is basically still running in the background you are able to start the video manually again:
In your view controller that manages the player add:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil];
Then add the following method:
- (void)applicationDidEnterBackground:(NSNotification*)note {
if (!_callCenter.currentCalls && self.currentPlayer.continuePlaybackInBackground == YES) {
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
// call play on your MPMoviePlayerController
});
}
}
I found that I had to use dispatch_after
because it otherwise it would try to start the movie playback again before it had been stopped by the OS.