AVPlayerViewController oynatma kontrolleri iOS14'te eksik

Sep 23 2020

Bir .pst dosyasında yerleştirdiğim bir AVPlayerViewController'ım var UIStackView. Kod iOS13'te iyi çalışıyor ancak iOS14'te oynatma kontrolüm yok. Görünüme dokunduğumda oynatma kontrolleri görünmüyor, ancak kıstırma hareketi yaptığımda video başlıyor. Video oynatıldığında aniden oynatma kontrollerini alıyorum ve onlarla etkileşim kurabiliyorum. TapableAVPlayerViewControllerSorun benim değil çünkü bir standartla denedim AVPlayerViewControllerve aynı davranışı alıyorum. Bazen, görünüm tamamen yüklendiğinde kaybolan büyük bir oynat düğmesi (iOS13'teki gibi) bile görüyorum.

Oynatma kontrollerimi nasıl geri alırım? Herhangi bir yardım için minnettarız! Teşekkürler!

private func setupVideo(for item: Item) {
    let avPlayer = AVPlayer()
    let avPlayerViewController = TapableAVPlayerViewController()
    avPlayerViewController.delegate = self
    avPlayerViewController.view.addInteraction(contextMenuInteraction)
    
    NotificationCenter.default.addObserver(self,
                                           selector: #selector(DetailViewController.playerItemDidReachEnd(_:)),
                                           name: NSNotification.Name.AVPlayerItemDidPlayToEndTime,
                                           object: avPlayer.currentItem)

    avPlayerViewController.player = avPlayer
    avPlayerViewController.view.translatesAutoresizingMaskIntoConstraints = false
    avPlayerViewController.view.heightAnchor.constraint(equalToConstant: view.bounds.width * CGFloat(item.height) / CGFloat(item.width)).isActive = true
    addChild(avPlayerViewController)
    stackView.removeArrangedSubview(imageView)
    stackView.insertArrangedSubview(avPlayerViewController.view, at: 0)
    avPlayerViewController.didMove(toParent: self)
    let url = URL(string: viewModel.link)
    let playerItem = AVPlayerItem(url: url!)
    avPlayer.replaceCurrentItem(with: playerItem)
    self.avPlayer = avPlayer
    self.avPlayerViewController = avPlayerViewController
}

Yanıtlar

NicoS. Sep 23 2020 at 00:53

Bir çözüm buldum. UIContextMenuInteractionOynatma kontrollerini bozuyor gibi görünüyor . Tüm AVPlayerViewControllerkurulum kodundan sonra etkileşim kurulumunu ayarladığımda oynatma kontrollerimi geri aldım.