源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

IOS实现视频动画效果的启动图

  • 时间:2020-04-10 06:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:IOS实现视频动画效果的启动图
[b]先上效果图[/b] [img]http://files.jb51.net/file_images/article/201609/201691150316343.gif?20168115330[/img] [b]实现思路[/b] 主要思路就是用一个控制器来作为播放视频的载体,然后在让这个控制器作为根视图,视频播放完成之后那就该干嘛干嘛了。 话不多说了,下面就放代码好了 先新建一个控制器[code]AnimationViewController[/code]在控制器中新建一个属性[code]moviePlayer[/code],记得要先引入系统库[code]<MediaPlayer/MediaPlayer.h>[/code]
@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;
设置[code]moviePlayer[/code]我是在懒加载中直接设置的
-(MPMoviePlayerController *)moviePlayer{
  if (!_moviePlayer) {
    _moviePlayer = [[MPMoviePlayerController alloc]init];
    [_moviePlayer.view setFrame:self.view.bounds];
    //设置自动播放
    [_moviePlayer setShouldAutoplay:NO];
    //设置源类型 因为新特性一般都是播放本地的小视频 所以设置源类型为file
    _moviePlayer.movieSourceType = MPMovieSourceTypeFile;
    //取消控制视图 如:播放暂停等
    _moviePlayer.controlStyle = MPMovieControlStyleNone;
    [self.view addSubview:_moviePlayer.view];
    //监听播放完成
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(playFinsihed) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
  }
  return _moviePlayer;
}
然后在[code].h[/code]中公开一个[code]moviePath[/code]视频的路径,还有一个结束播放的[code]blockplayFinished[/code]等下需要。 [code]AnimationViewController[/code]中也算差不多了,毕竟也没什么东西,接下来我们去[code]AppDelegate[/code]中声明一个[code]AnimationViewController[/code]属性
- (AnimationViewController *)animationViewController{
  if (!_animationViewController) {
    _animationViewController = [[AnimationViewController alloc]init];
    //设置本地视频路径
    _animationViewController.moviePath = [[NSBundle mainBundle] pathForResource:@"V" ofType:@"mp4"];
    _animationViewController.playFinished = ^{
      UINavigationController *rootNav = [[UINavigationController alloc] initWithRootViewController:[[ViewController alloc] init]];
      [UIApplication sharedApplication].keyWindow.rootViewController = rootNav;
    };
  }
  return _animationViewController;
}
然后在[code]AppDelegate[/code]的启动方法把这个控制器设为根视图
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
  self.window.rootViewController = self.animationViewController;
  [self.window makeKeyAndVisible];
  return YES;
}
[b]总结[/b] 这里要说一句,刚开始我用这个路径但是一直为空,后来我添加了一个名字为Resource的文件夹把mp4放进去就好了,以上就是这篇文章的全部内容了,有需要的朋友们可以参考借鉴。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部