IOS實現視頻動畫效果的啟動圖_IOS

來源:互聯網
上載者:User

先上效果圖

實現思路

主要思路就是用一個控制器來作為播放視頻的載體,然後在讓這個控制器作為根視圖,視頻播放完成之後那就該幹嘛幹嘛了。

話不多說了,下面就放代碼好了

先建立一個控制器AnimationViewController在控制器中建立一個屬性moviePlayer,記得要先引入系統庫<MediaPlayer/MediaPlayer.h>

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;

設定moviePlayer我是在懶載入中直接設定的

-(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;}

然後在.h中公開一個moviePath視頻的路徑,還有一個結束播放的blockplayFinished等下需要。

AnimationViewController中也算差不多了,畢竟也沒什麼東西,接下來我們去AppDelegate中聲明一個AnimationViewController屬性

- (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;}

然後在AppDelegate的啟動方法把這個控制器設為根視圖

- (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;}

總結

這裡要說一句,剛開始我用這個路徑但是一直為空白,後來我添加了一個名字為Resource的檔案夾把mp4放進去就好了,以上就是這篇文章的全部內容了,有需要的朋友們可以參考借鑒。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.