Передача ссылки AVPlayer из ячейки в контроллер представления останавливает видео, но звук продолжается - PullRequest
0 голосов
/ 19 марта 2019

У меня есть AVPlayer подкласс внутри UICollectionViewCell. У меня есть кнопка, которая, когда я нажимаю ее, должна отображать это же видео в полноэкранном режиме. Я подумал, что смогу сделать UIViewController и передать ему ссылку на AVPlayer, чтобы он мог добавить его в качестве подпредставления и продолжить воспроизведение. Однако, то, что происходит, это добавляет это как подпредставление, видео останавливается, но звук продолжает играть. Зачем? Как я могу решить это?

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Оказывается, если вы передаете AVPlayer другому контроллеру представления, вы должны удалить исходную сильную ссылку на него.У вас может быть только одна ссылка на AVPlayer, в противном случае она начинает зависать и становится странной.

0 голосов
/ 19 марта 2019

Используйте AVPlayerController для этого.Всякий раз, когда вы нажимаете на кнопку, просто представьте AVPlayerController с тем же экземпляром.

    @IBAction func buttonTap(_ sender: Any) {
      let vc = storyboard?.instantiateViewController(withIdentifier:"FullScreenPlayer") as! FullScreenPlayerViewController
      vc.player = playerInCell
      present(vc, animated: false)
}

Примечание: FullScreenPlayerController является подклассом AVPlayerViewController

...