Проблема в отключении полноэкранного режима MPMoviePlayerViewController - PullRequest
0 голосов
/ 21 сентября 2011

В моем приложении я использую MPMoviePlayerViewController для воспроизведения онлайн-видео. Видео должно воспроизводиться в полноэкранном режиме, когда в альбомной ориентации, а полноэкранный режим должен быть отключен, когда он поворачивается в портретный режим. Я могу воспроизводить видео в полноэкранном режиме. Но не может отменить его, когда ориентация устройства переходит в портретный режим.

Я использую [mpController.moviePlayer setFullscreen: FALSE animated: YES];

Кто-то, пожалуйста, помогите.

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

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Я полагаю, вы пытаетесь обнаружить изменение ориентации в контроллере представления, который представляет MPMoviePlayerViewController?Этот код не будет запущен после того, как контроллер представления видеоплеера будет представлен, потому что он, а не его родитель, будет получать события поворота.

Однако вы можете подписаться на уведомления о повороте устройства и отменить проигрыватель фильмаКонтроллер просмотра всякий раз, когда вы обнаруживаете поворот к портрету:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self selector:@selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object:nil];

// Present MPMoviePlayerViewController here

В другом месте в том же контроллере просмотра:

- (void)deviceOrientationDidChange:(NSNotification *)notification
{
    UIDevice *currentDevice = [UIDevice currentDevice];
    [currentDevice endGeneratingDeviceOrientationNotifications];

    if (...)        // Check currentDevice.orientation to see if it's what you want
    {
        // Do whatever you want now that you have the orientation you want
    }

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
}
0 голосов
/ 21 сентября 2011

Установите наблюдателя для UIDeviceOrientationDidChangeNotification или UIApplicationWillChangeStatusBarOrientationNotification, проверьте новую требуемую ориентацию и установите новый режим для MPMoviePlayerViewController.

...