Воспроизвести видео в представлении, используя MPMoviePlayerController? - PullRequest
1 голос
/ 21 июня 2010

Я пытаюсь воспроизвести видео в представлении, чтобы я мог перемещать его, выполнять компоновку вместе с другими представлениями, но я не могу заставить его работать с использованием MPMoviePlayerController. Я наткнулся на эту ссылку на , как воспроизводить видео в портретном режиме , но это невозможно, поскольку источник видео исходит из Интернета и должен воспроизводиться на разных платформах, не только на iPhone.

Я успешно поворачивал видео и масштабировал его, но он все еще содержится в окне UIWindow, которое заполняет весь экран. Есть ли способ создать промежуточное окно UIWindow, но не видимое на текущем экране, так что вы можете воспроизвести видео там и, возможно, добавить подпредставления и вернуть все как UIView, где я могу разместить его где угодно? Подобно созданию контекста CGGraphics, рисуйте там объекты и выводите их в виде изображения. Это также предотвратит поворот текущего экрана из портретного в альбомный.

----- 2010/06/22 06: 10 + 08: 00 ---

В ответ на ответ Jasarien (ниже), на самом деле можно вращать и масштабировать видео. После предварительной загрузки видео создается еще один экземпляр UIWindow, который в этот момент становится ключевым окном. Создав селектор обратного вызова в MPMoviePlayerContentPreloadDidFinishNotification, можно применить модификацию преобразования текущего ключевого окна.

-(void)myMovieFinishedPreloading:(NSNotification*)aNotification  {
    NSArray *windows = [[UIApplication sharedApplication] windows];

    UIWindow *moviePlayerWindow = nil;
    if ([windows count] > 1) 
    {
    moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
    }

    CGAffineTransform transform = CGAffineTransformMakeScale(0.5, 0.5);
    transform = CGAffineTransformRotate(transform, -90.0f*M_PI/180.0f);
    [moviePlayerWindow setTransform:transform];

 }

Теперь мой вопрос заключается в том, что он является частью UIWindow и, поскольку UIWindow является подклассом UIView, возможно ли подписать этот UIView? Также я не могу отключить режим автоматического поворота при предварительной загрузке видео.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2012

Проверьте AVPlayer и AVPlayerLayer.

0 голосов
/ 21 июня 2010

Видео на iPhone всегда воспроизводится в полноэкранном режиме.IPad с iOS 3.2 имеет API-интерфейсы, позволяющие обрабатывать видео как обычный вид.

Для iPhone без написания собственного видео вы не сможете получить нужную вам функциональность.

...