2014-10-28 3 views
0

В моем приложении я пытаюсь воспроизвести видео в ландшафтном и портретном режимах с помощью MPMoviePlayerController. Я написал фрагмент кода для воспроизведения видео &, обрабатывающего его вращение. Мой настоящий код работает отлично в ios 7, но в ios 8 проблема заключается в том, что при изменении поворота ipad на пейзаж видео по-прежнему работает в портретном режиме относительно этой позиции. Может ли кто-нибудь предложить мне способ, чтобы я мог выйти из этой проблемы.ios 8 - MPMoviePlayerController Видео не вращается соответственно

Мой подарок код:

NSURL *videoURL = [NSURL fileURLWithPath:urlFromPrevious]; 

moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:videoURL]; 
moviePlayerController.scalingMode = MPMovieScalingModeAspectFit; 
moviePlayerController.fullscreen=YES; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayerController]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willExitFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:moviePlayerController]; 

[[moviePlayerController view] setFrame:CGRectMake(x_axe_forImage, y_axe_forImage, width_forImage, height_forImage+44)]; 

[[self view] addSubview:[moviePlayerController view]]; 

[moviePlayerController play]; 
+0

Может быть, вы могли бы хотеть попробовать использовать '' UIWindowDidBecomeVisibleNotification' или UIWindowDidBecomeHiddenNotification' для уведомлений .. – NorthBlast

+0

Я скопировать этот код вставить в новый проект, он отлично работает в симуляторе iOS8, предполагая, что ваша проблема лежит в другом месте. Возможно, вы внедрили метод обратного вызова вращения в ViewController, в который встроено видео, и которое связано с вашим видео. Имейте в виду, что в iOS8 Apple полностью осуждает все обратные вызовы вращения и вводит -willTransitionToTraitCollection: withTransitionCoordinator: and -viewWillTransitionToSize: withTransitionCoordinator :, убедитесь, что вы их обманываете. –

+0

@ ZoltánMatók: Спасибо, что потратили ваше время на выпуск. Я обнаружил, что моя проблема возникла, и теперь я решил это. – iYoung

ответ

0

Посмотрите на How to use MPMoviePlayerController. Вы должны представить, что контроллер представления с соответствующим селектором UIViewController: «presentMoviePlayerViewControllerAnimated»

+0

Я работаю с MPMoviePlayerController не MPMoviePlayerViewController так, я не могу использовать presentMoviePlayerViewControllerAnimated – iYoung

+0

Ну с таким подходом, поскольку MPMoviePlayerController не подкласс UIViewController, я предлагаю вам установить его вид autoresizingMask к UIViewAutoresizingFlexibleWidth и UIViewAutoresizingFlexibleHeight. – nstefan

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