2015-04-28 5 views
1

Я немного смущен поведением.запускать видео каждый раз, когда экран заставки исчезает в приложении iOS.

Что я хочу сделать, У меня есть два разных приложения. Один из них сделан мной, а другой - парнем, который покинул компанию &. Теперь мне нужно выполнить его проекты. Но задача, выполняемая в обоих проектах, такая же.

Я должен показывать 5 секунд видео, когда я открываю приложение каждый раз. Как некоторые брендинговые видео. (Сделано в приложении для сердитых птиц)

Я проверил все ссылки на SO, но никому не помог.

Мой старший, который покинул компанию, он использовал Main.storyboard для навигации по каждому экрану. , и я не так хорошо разбираюсь в раскадровке. В моем приложении я создал навигацию программно.

Когда мой экран заставки исчезает, Я показываю приборную панель. Но перед показом приборной панели я должен показывать видео каждый раз. Итак, что я сделал, Я создал контроллер вида только для видео с именем VideoViewController, и позвонил этому контроллеру вида от ViewDidLoad панели инструментов. , и когда мое видео закончилось, , то с помощью NSNotificationCenter я удалил VideoViewController.

Когда я Nslog URL-адрес, его печать правильная, но после этого приложение My app падает. Я проверил его, применив ExceptionalBreakpoints, но не помог.

Вот мой код для запуска видео в ViewDidLoad из VideoViewController

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"]]; 
    NSLog(@"video path :- %@",url); 
    playercontroller = [[MPMoviePlayerController alloc] init]; 
    [playercontroller setContentURL:url]; 
    [playercontroller.view setFrame:CGRectMake (0, 0, 320, 460)]; 
    [self.view addSubview:playercontroller.view]; 
    [playercontroller play]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlayBackDidFinish:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:playercontroller]; 

и Я толкаю VideoViewController от метода

-(void)viewDidAppear:(BOOL)animated 

приборной доски.

Как я все делаю неправильно. Как мой url получает Nslg хорошо, поэтому, без сомнения, загрузка видео.

Просьба направить меня за то же самое. также поможет мне достичь той же задачи, используя раскадровку.

Заранее спасибо.

+0

Я думаю, что вы хотите попробовать как это [self presentMoviePlayerViewControllerAnimated: movieController]; удалить [self.view addSubview: playercontroller.view]; а затем попробуйте –

+0

Или попробуйте вот так [self presentViewController: playercontroller animated: YES complete: nil]; –

+0

@ Darshan Я пробовал то же самое, но не буду работать. , то я переключаюсь на MPMoviePlayerController из MPMoviePlayerViewController.Я создал объект MPMoviePlayerController не для MPMoviePlayerViewController – Sagar

ответ

0

вы не должны жестко установить рамки, как, что, хотя ..

Предполагая, что «я» является ViewController (который был правильно addChildViewController'ed всего пути от RootViewController), попробуйте следующую вещь:

NSString *path = [[NSBundle mainBundle] pathForResource:videoFileName ofType:@"mp4"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
MPMoviePlayerViewController *videoController = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 
[self presentMoviePlayerViewControllerAnimated:videoController]; 
[videoController.moviePlayer play]; 
+0

: - Сбой приложений, предупреждающий «Предупреждение: попытка представить в , чей вид не находится в иерархии окон! « – Sagar

+0

убедитесь, что вы все равно добавилиChildViewController всех контроллеров view от rootVC к этому – dOM

+0

Я добавил представление панели управления в виде корневого представления и после того, как панель инструментов загружена, затем я вызываю VideoView для показа видео – Sagar

 Смежные вопросы

  • Нет связанных вопросов^_^