我需要能够访问pictureInPictureControllerDidStopPictureInPicture(_:)
的原生AVPictureInPictureController
的委托回调方法WKWebView
。 AVPictureInPictureController
没有像旧版MPMoviePlayerViewController
那样的全局通知事件,我无法创建自己的AVPictureInPictureController
实例,以便与Web视图一起使用以访问委托回调。我找不到关于如何挂钩AVPictureInPictureController
对象的内部WKWebView
的文档。我希望至少可以通过某种方式与KVO合作。
WebKit框架提供了WKWebView类,它支持iOS 9中的画中画。
答案 0 :(得分:1)
如果您对AVPictureInPictureController
有任何访问权限,则只需设置其委托并实施回调即可
class MyWebView: WKWebView {
self.myPictureInPictureController.delegate = self
}
extension MyWebView: AVPictureInPictureControllerDelegate {
func pictureInPictureControllerDidStopPictureInPicture(_ pictureInPictureController: AVPictureInPictureController) {
//code
}
}
答案 1 :(得分:0)
我能够发现有一个名为PGPictureInPictureProxyPictureInPictureActiveChangedNotification
的通知,当视频移动到画中画时调用,然后在画中画关闭时再调用。我确定它可以在任何时候被更改或删除,但它现在似乎正在起作用。