2014-07-18 3 views
2

У меня есть таблица, где в одной из ячеек есть вид, на котором AVPlayer отображает видео. Работает отлично. То, что я хотел бы сделать, это разрешить пользователю поворачивать устройство и затем использовать AVPlayer для другого полноэкранного просмотра. Любые указатели на то, как это сделать?AVPlayer - переключиться между полноэкранным экраном

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

Буду признателен за любое направление.

ответ

0

Мне удалось решить это, просто воссоздав представление (содержащее представление с помощью AVPlayerLayer) на другой полноэкранный режим, а затем повернув/масштабируя его на весь экран. Не нужно беспокоиться о нескольких AVPlayers и т. Д., Как упоминает Мэтт в своих комментариях выше.

+2

может у поделиться ур код – ChenSmile

0

Предположим, что у нас есть MoviePlayerVC, который добавляет AVPlayerLayer в качестве подуровня, и это контроллер детского представления MainVC.

Настройка

window.rootViewController = mainVC; 
[mainVC ftg_addChildVC:moviePlayerVC]; // Using container view controller 

Есть 3 способа включения полноэкранного режима

  • Удалить moviePlayerVC, а затем представить его

    [moviePlayerVC ftg_removeFromParentVC]; dispatch_after (dispatch_time (DISPATCH_TIME_NOW, (int64_t) (0,1 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{ // Это делает ее на другой цикле выполнения [mainVC presentViewController: moviePlayerVC анимационная: ДА завершение: ноль]; }) ;

Это не так быстро и гладко, как окна подхода

  • Добавить moviePlayerVC в keyWindow
  • Добавить moviePlayerVC в новом окне (см FLEX)

Полный экран

[moviePlayerVC ftg_removeFromParentVC]; 
[UIApplication sharedApplication].keyWindow.rootViewController = moviePlayerVC; 

Embedded

[UIApplication sharedApplication].keyWindow.rootViewController = mainVC; 
[mainVC ftg_addChildVC:moviePlayerVC]; 
Смежные вопросы