У меня есть UIImageView, роль которого заключается в отображении либо изображения, либо видео, извлеченного из бэкэнд-службы. В случае с видео я создаю AVPlayerViewController, который добавляется как подпредставление к UIImageView. Я хотел бы запретить воспроизведение видео во встроенном режиме. Пользователь должен иметь возможность смотреть видео только в полноэкранном портретном режиме. Вот несколько изображений для уточнения:
При запуске приложения:
![At Start:](https://i.stack.imgur.com/PSdr0.png)
После того, как пользователь нажмет кнопку воспроизведения. Видео автоматически отображается в полноэкранном режиме, поскольку AVPlayerViewController.entersFullScreenWhenPlaybackBegins имеет значение True
![enter image description here](https://i.stack.imgur.com/2gxhJ.png)
После выхода из полноэкранного режима. Видео показывается встроенным в UIImageView. Вместо этого я хотел бы вернуться к экрану, который идентичен первому, содержащему только миниатюру. Где пользователь должен войти в полноэкранный режим, чтобы посмотреть остальную часть видео.
![enter image description here](https://i.stack.imgur.com/qXSKY.png)
Вот как я настраиваю видеоплеер:
func configureVideoPlayer(player: AVPlayer) {
let playerViewController = AVPlayerViewController()
playerViewController.player = player
playerViewController.videoGravity = .resizeAspect
playerViewController.view.frame = imageView.bounds
playerViewController.view.translatesAutoresizingMaskIntoConstraints = false
playerViewController.entersFullScreenWhenPlaybackBegins = true
playerViewController.exitsFullScreenWhenPlaybackEnds = true
videoPlayer = playerViewController
imageView.addSubview(playerViewController.view)
imageView.bringSubviewToFront(playerViewController.view)
imageView.isUserInteractionEnabled = true
}
Возможное решение: я не смог найти, как добиться этого с помощью API AVPlayer. Я новичок в работе с iOS приложениями, поэтому, возможно, я что-то пропустил. Одна вещь, о которой я думаю, это создать миниатюру видео и рассматривать ее как кнопку для воспроизведения видео плеера. Однако это похоже на взлом, и я сомневаюсь, что это лучшее решение ...