2015-06-22 133 views
0

每次用戶在iOS設備上打開應用程序時,我都想顯示一個小視頻(3秒視頻)。 (如果應用程序從內存打開,然後不顯示視頻)在應用程序啓動失敗時啓動視頻iOS

我有我的「儀表板」視圖作爲根視圖控制器。

我搜索了SO和其他網站上的所有鏈接,但沒有任何幫助。

有時我的視頻正在工作,但後來的應用程序崩潰。

我的控制檯視圖來自「Main.storyboard」,但故事板上沒有控件。 只有通過故事板完成導航欄的鏈接。

這是我的代碼。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    [self showVideo]; 
} 


- (void)showVideo 
{ 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"]; 
    NSURL *url = [NSURL fileURLWithPath:path]; 
    NSLog(@"video path :- %@",url); 
    self.navigationController.navigationBar.hidden = YES; 
    self.videoController = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 
    self.videoController.moviePlayer.controlStyle = MPMovieControlStyleNone; 
    //[self presentMoviePlayerViewControllerAnimated:videoController]; 
    [self.navigationController pushViewController:self.videoController animated:NO]; 

    [self.videoController.moviePlayer play]; 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlayBackDidFinish:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:self.videoController]; 
} 

- (void) moviePlayBackDidFinish:(NSNotification*)_notification 
{ 
    self.navigationController.navigationBar.hidden = NO; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:MPMoviePlayerPlaybackDidFinishNotification 
                object:nil]; 

    [self.videoController.view removeFromSuperview]; 
    [self.videoController.moviePlayer stop]; 
    self.videoController = nil; 

    [self.navigationController popViewControllerAnimated:NO]; 
    //[self.view removeFromSuperview]; 
} 

nslog正在打印視頻路徑。 像

video path :- file:///Users/itshastra/Library/Developer/CoreSimulator/Devices/87C93694-66E8-4884-B087-10E1E4CBA4D1/data/Containers/Bundle/Application/DB6C89D4-EE6D-4830-B208-B4AA89FD8E59/Complaint.app/video.mp4 

但應用程序獲取墜毀, 無論它顯示的視頻,然後儀表盤,不能直接儀表板。

任何人都可以請指導我,我做錯了什麼。

在此先感謝。

如果錯誤地錯過了我的任何鏈接,請提供。 謝謝。

+0

你有沒有試過叫[self showVideo];從viewWillAppear方法? – Rajesh

+0

是的,我試過了。但它沒有顯示黑屏。應用程序在那裏凍結。 – Sagar

+0

您是否已將視頻添加到Xcode目錄或複製包資源? – Rajesh

回答

1

嘗試調用這樣的方法,

- (void)viewDidLoad 
{ 
    [super viewDidLoad];   
    [self performSelector:@selector(showVideo) withObject:nil afterDelay:0.1f]; 
} 
+0

沒有工作。 只能工作一次。然後應用程序崩潰, 也沒有收到MPMoviePlayerPlaybackDidFinishNotification – Sagar

+1

@RajeshMaurya相反,那麼你需要把條件放在'didFinishLaunchingWithOptions'這對我來說是一個最好的解決方案 –

0

請啓用選項「啓用殭屍對象」以下路徑: 編輯計劃 - >診斷 - >啓用殭屍對象

,讓我知道了日誌。