收藏ios

仿KEEP登录背景播放视频

2017-07-26  本文已影响43人  超_iOS
#import <MediaPlayer/MediaPlayer.h>

@property (nonatomic , strong) MPMoviePlayerController *moviePlayerController;

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(toPlayAgain) name:@"movieToPlay" object:nil];
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
      DLog(@"销毁视频通知");
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"movieToPlay" object:nil];
}
- (void)viewDidLoad {
  NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"视频名" ofType:@"mp4"];
    [self.view addSubview:self.moviePlayerController.view];
    self.moviePlayerController.contentURL = [[NSURL alloc] initFileURLWithPath:moviePath];
    [self.moviePlayerController play];
}
- (MPMoviePlayerController *)moviePlayerController
{
    if (!_moviePlayerController) {
        
        _moviePlayerController = [[MPMoviePlayerController alloc] init];
        _moviePlayerController.movieSourceType = MPMovieSourceTypeFile;
        _moviePlayerController.controlStyle =MPMovieControlStyleNone;
        _moviePlayerController.view.frame = [UIScreen mainScreen].bounds;
        [_moviePlayerController setFullscreen:YES];
        [_moviePlayerController setShouldAutoplay:YES];
        [_moviePlayerController setRepeatMode:MPMovieRepeatModeOne];
        _moviePlayerController.scalingMode = MPMovieScalingModeAspectFill;//铺满
    }
    return _moviePlayerController;
}

- (void)toPlayAgain{
    //[self.moviePlayerController play];
    MPMoviePlaybackState playbackState = [self.moviePlayerController playbackState];
    DLog(@"%ld视频状态前台后",playbackState);
    
    if(playbackState == MPMoviePlaybackStatePaused || playbackState == MPMoviePlaybackStateInterrupted){
        DLog(@"暂停了");
        [self.moviePlayerController play];
    }
}


上一篇下一篇

猜你喜欢

热点阅读