Ios Swift:如何访问全屏HTML视频的播放器对象?

Ios Swift:如何访问全屏HTML视频的播放器对象?,ios,swift,Ios,Swift,我希望能够保存对AVPlayer实例的引用,该实例在从嵌入式浏览器全屏播放HTML视频时接管屏幕。我的第一个方法是: extension AVPlayerViewController { override public func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) print("herezzzzzzzzzzzzzzzzzzzzzzzzzzz") // prints corr

我希望能够保存对
AVPlayer
实例的引用,该实例在从嵌入式浏览器全屏播放HTML视频时接管屏幕。我的第一个方法是:

extension AVPlayerViewController {

    override public func viewDidAppear(animated: Bool) {
      super.viewDidAppear(animated)

      print("herezzzzzzzzzzzzzzzzzzzzzzzzzzz") // prints correctly
      print(self.player) // prints nil
    }
}
然而,它总是返回零。所以我在尝试一种不同的方法。我想覆盖AVPlayer的初始值设定项或
play
方法,但如果没有得到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?

您不能从扩展重写方法。或者更准确地说,编译器允许您这样做,但它不起作用。请参阅此线程:

您也不应该子类化
avplayervewcontroller

为什么不能在创建它的类中读取
avplayervcontroller
s
player
属性?

“在该UIWebView中用于播放视频内容的最重要类称为MPAVController和UIMoviePlayerController”。所以你不能得到AVPlayer的实例


请检查此问题:了解更多详细信息。

我正在尝试对所有从嵌入式浏览器全屏播放的视频执行此操作,因此我想要一种全局方式来抓取占据屏幕的
播放器
。我认为你当时运气不好。这对你有帮助吗?我想要一个在am embedded browser中播放视频时打开的默认播放器的引用,而不是使用URL手动播放视频