2015-09-15 1 views
0

я в настоящее время имеем дело с некоторым унаследованным кодом, который отображает UIView так:Каков наилучший способ отображения полноэкранного видео пейзажа и возможность прокрутки влево или вправо на другое видео?

enter image description here

Этот вид показывает полноэкранное видео в альбомной (портрет не требуется). Наложение на видео - небольшая серая панель внизу с меткой на ней и кнопка, чтобы закрыть окно.

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

Мои мысли состоят в том, что я могу добавить распознаватель жесты для просмотра, но я не уверен, как бороться с загрузкой различных видеороликов, представленных на полном экране. Я уверен, что можно загрузить каждое видео в отдельные UIViews и поменять то, что отображается, когда обнаружен жест, но я не думаю, что это обеспечит чистый и анимированный переход между видео. Важно, чтобы видео оставалось в полноэкранном режиме. Какой был бы лучший подход для достижения этого?

ответ

0

Вы можете сделать видео в MPMoviePlayerController * и сверху иметь невидимый UIWindow * с windowLevel "UIWindowLevelStatusBar". Добавьте жест панорамы в этот UIWindow. И когда вы перемещение влево или вправо, загрузить новый медиа URL, как это:

[player setContentURL:xyz]; 
[player play]; 

Резюме играть от того, где вы оставили с:

initialPlaybackTime = <last known position before swipe> 
+0

Будет ли это лучший способ для обеспечения анимированного перехода между видео хоть? – Gordonium

+0

Ну, для анимации замените распознаватель жестов на UICollectionView *. Попросите эту ячейку коллекции просмотреть скриншоты, чтобы при слайде вы были готовы к предварительному просмотру снимков экрана и исчезнуть, когда начнется воспроизведение видео. Вы можете снять этот снимок экрана, когда вы удаляете видео, которое уже играет. Это даст вам ~ .4 сек, где вы можете остановить/запустить видео. – Syzygy

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