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
splayer
属性?“在该UIWebView中用于播放视频内容的最重要类称为MPAVController和UIMoviePlayerController”。所以你不能得到AVPlayer的实例
请检查此问题:了解更多详细信息。我正在尝试对所有从嵌入式浏览器全屏播放的视频执行此操作,因此我想要一种全局方式来抓取占据屏幕的
播放器
。我认为你当时运气不好。这对你有帮助吗?我想要一个在am embedded browser中播放视频时打开的默认播放器的引用,而不是使用URL手动播放视频