我希望能够在AVPlayer从嵌入式浏览器全屏播放HTML视频时保留对接管屏幕的实例的引用.我的第一个方法是:
extension AVPlayerViewController {
    override public func viewDidAppear(animated: Bool) {
      super.viewDidAppear(animated)
      print("herezzzzzzzzzzzzzzzzzzzzzzzzzzz") // prints correctly
      print(self.player) // prints nil
    }
}
然而它总是返回零.所以我正在尝试不同的方法.我想覆盖playAVPlayer 的初始化器或方法,但是如果没有得到objective-c选择器冲突,我似乎无法做到这一点.
import AVKit
import MediaPlayer
extension AVPlayer {
  override func play() { // this doesn't work. just an example of what i want
    super.play()
    print("do stuff here")
  }
}
有没有办法覆盖AVPlayer的一个实例方法,所以我可以存储一个引用self?或者它甚至不是AVPlayer?
您无法覆盖扩展中的方法。或者更准确地说,编译器允许您这样做,但它不起作用。请参阅此线程:重写 Swift 扩展中的方法
你也不应该子类化AVPlayerViewController.
为什么不能直接读取创建它的类中的AVPlayerViewControllers属性?player
| 归档时间: | 
 | 
| 查看次数: | 494 次 | 
| 最近记录: |