1,首先项目搭建是一个FYYTabViewController 在这里不详细介绍了
2.首页是一个FYYChatViewController
3.在这个首页控制器中引入一个
FYYAnimationVideoViewController导航控制器,这个动画控制器主要用来播放视频代码如下
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:self.videoUrl];
self.moviePlayer.view.frame = CGRectMake(0, 0, KW, KH);
self.moviePlayer.shouldAutoplay = YES;
self.moviePlayer.controlStyle = MPMovieControlStyleNone;
self.moviePlayer.repeatMode = MPMovieRepeatModeNone;
self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self.view addSubview:self.moviePlayer.view];
//主要用了一个第三方库做个文字效果的
[self fyy_configShimmerLabelAndButton];
//监听视频播放完成时要做的事情
[self fyy_monitorPlayerFinish];
//添加一个背景手势可以快速进入app停止视频播放
[self fyy_addBackView];
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self.moviePlayer prepareToPlay];
[self.moviePlayer play];
}
//停止播放的事件
-(void)clickEnter:(UIButton *)btn{
if (self.finishBlock) {
self.finishBlock();
}
}
实现是在 FYYChatViewController
self.animation.finishBlock = ^{
[UIView animateWithDuration:1.0 animations:^{
weakSelf.animation.view.alpha = 0;
} completion:^(BOOL finished) {
[weakSelf.animation.view removeFromSuperview];
weakSelf.animation = nil;
}];
};
让app进入的时候只播放一次在 FYYChatViewController控制器中
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self fyy_firsetInterIn];
}
-(void)fyy_firsetInterIn{
NSInteger firstIN = [[[NSUserDefaults standardUserDefaults] valueForKey:@"FIRST_ENTER_IN"] integerValue];
if (firstIN != 0){
return;
}
self.animation = [[FYYAnimationVideoViewController alloc] init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"intro" ofType:@"mp4"];
self.animation.videoUrl = [NSURL fileURLWithPath:path];
self.animation.view.frame = [UIScreen mainScreen].bounds;
WeakSelf;
self.animation.finishBlock = ^{
[UIView animateWithDuration:1.0 animations:^{
weakSelf.animation.view.alpha = 0;
} completion:^(BOOL finished) {
[weakSelf.animation.view removeFromSuperview];
weakSelf.animation = nil;
}];
};
[[[UIApplication sharedApplication] keyWindow] addSubview:self.animation.view];
[[[UIApplication sharedApplication] keyWindow] bringSubviewToFront:self.animation.view];
[[NSUserDefaults standardUserDefaults] setValue:@(0) forKey:@"FIRST_ENTER_IN"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
这样就可以简单实现启动图过后的一段视频播放