Как настроить AVPlayer для воспроизведения видео только в полноэкранном режиме? - PullRequest
0 голосов
/ 16 апреля 2020

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

При запуске приложения:

At Start:

После того, как пользователь нажмет кнопку воспроизведения. Видео автоматически отображается в полноэкранном режиме, поскольку AVPlayerViewController.entersFullScreenWhenPlaybackBegins имеет значение True

enter image description here

После выхода из полноэкранного режима. Видео показывается встроенным в UIImageView. Вместо этого я хотел бы вернуться к экрану, который идентичен первому, содержащему только миниатюру. Где пользователь должен войти в полноэкранный режим, чтобы посмотреть остальную часть видео.

enter image description here

Вот как я настраиваю видеоплеер:

    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 приложениями, поэтому, возможно, я что-то пропустил. Одна вещь, о которой я думаю, это создать миниатюру видео и рассматривать ее как кнопку для воспроизведения видео плеера. Однако это похоже на взлом, и я сомневаюсь, что это лучшее решение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...