跟着时代的变化。 很多app的启动页面会选择用一段视频去代替传统的滑动启动。 所以我就写了一个demo 实现了拿本地视频作为启示页面
1.也可以做拿网络视频作为启动视频。(需要自己做)
2.首先你本地肯定是要有一个视频的。 不可以直接去获取网络视频。 否则会造成网络慢而没有视频的后果
3.gitHub. 下载地址: https://github.com/krystalName/StartMovie
核心代码如下
//播放器ViewController @property(nonatomic, strong)AVPlayerViewController *AVPlayer; -(void)setMoviePlayer{ //初始化AVPlayer self.AVPlayer = [[AVPlayerViewController alloc]init]; //多分屏功能取消 self.AVPlayer.allowsPictureInPicturePlayback = NO; //设置是否显示媒体播放组件 self.AVPlayer.showsPlaybackControls = false; //初始化一个播放单位。给AVplayer 使用 AVPlayerItem *item = [[AVPlayerItem alloc]initWithURL:_movieURL]; AVPlayer *player = [AVPlayer playerWithPlayerItem:item]; //layer AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:player]; [layer setFrame:[UIScreen mainScreen].bounds]; //设置填充模式 layer.videoGravity = AVLayerVideoGravityResizeAspect; //设置AVPlayerViewController内部的AVPlayer为刚创建的AVPlayer self.AVPlayer.player = player; //添加到self.view上面去 [self.view.layer addSublayer:layer]; //开始播放 [self.AVPlayer.player play]; //这里设置的是重复播放。 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playDidEnd:) name:AVPlayerItemDidPlayToEndTimeNotification object:item]; }因为考虑到视频播放完也不能卡住。 所以做了一个重复播放的动作
//播放完成的代理 - (void)playDidEnd:(NSNotification *)Notification{ //播放完成后。设置播放进度为0 。 重新播放 [self.AVPlayer.player seekToTime:CMTimeMake(0, 1)]; //开始播放 [self.AVPlayer.player play]; }然后做了一个定时器。3秒钟之后出现进入应用的按钮
//定时器。延迟3秒再出现进入应用按钮 [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(setupLoginView) userInfo:nil repeats:YES];,论文,开题报告