Я пишу пользовательский плеер из AVPlayer для воспроизведения видео. Согласно документам Apple, установите уровень видео:
self.player = [IPLPlayer new];
self.player.playerLayer = (AVPlayerLayer *)self.playerView.layer;
Где self.playerView является обычным классом из этих документов:
@implementation PlayerView
+ (Class) layerClass {
return [AVPlayerLayer class];
}
- (AVPlayer *)player {
return [(AVPlayerLayer *)[self layer] player];
}
- (void)setPlayer:(AVPlayer *) player {
[(AVPlayerLayer *) [self layer] setPlayer:player];
}
Проблема заключается в следующем: когда закрывается приложение (кнопка "Главная") или экран блока, воспроизведение видео прекращается, и когда возобновляется ТОЛЬКО возобновление воспроизведения звука, изображение на экране по-прежнему остается на экране блока - оно полностью статично и заменяет кадры изменения.
Как возобновить воспроизведение VIDEO после блокировки экрана?
Кажется, я должен зарегистрировать уведомления, и после того, как приложение станет активным, возобновите видеослот:
-(void)registerNotification
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(willEnterBackground)
name:UIApplicationWillResignActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didEnterForeground)
name:UIApplicationDidBecomeActiveNotification object:nil];
}
-(void)unregisterNotification
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
-(void)willEnterBackground
{
NSLog(@"willEnterBackground");
[self.playerView willEnterBackground];
}
-(void)didEnterForeground
{
NSLog(@"didEnterForeground");
[self.playerView didEnterForeground];
}