Слишком много вопросов, связанных с проблемой ландшафта в MPMovieplayer. Мое приложение в портретном режиме. Но я хочу видео в ландшафтном режиме. У меня уже есть функция пейзажа/портрета для видео. Я использую следующий код:MPInlineVideoFullscreenViewController и AVFullScreenViewController впервые приходит в портретном режиме
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)])
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
else {
return UIInterfaceOrientationMaskPortrait;
}
}
Кодекс работает отлично в обоих прошивкой 7 и iOS8. Но проблема в том, что видео сначала открывается в портретном режиме, когда устройство находится в ландшафтном режиме. После изменения ориентации, чем приложение работает нормально.
Заранее благодарен.
Есть ли способ вызова вручную следующий метод: - (NSUInteger) применение: (UIApplication *) применение supportedInterfaceOrientationsForWindow: (UIWindow *) окно или любым другим способом, чтобы обновить ориентацию mpmovieplayer manually.So это будет решить мою проблему. – Bond
вы можете попробовать под кодом, [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight animated: NO]; [[self view] setBounds: CGRectMake (0, 0, 480, 320)]; [[self view] setCenter: CGPointMake (160, 240)]; [[self view] setTransform: CGAffineTransformMakeRotation (M_PI/2)]; Поместите выше код при воспроизведении видео. Вышеуказанный код предназначен для размера экрана iPhone 4, измените значение в соответствии с размером экрана вашего устройства. –
@sundeep Я добавляю приведенный выше код к методу, когда запускается уведомление о начале видео. Но неудача его не работает на моем конце. Экран видео не вращается. – Bond