访问 AVPictureInPictureController 的委托回调以获取 WKWebView



我需要能够访问委托回调方法,pictureInPictureControllerDidStopPictureInPicture(_:) WKWebView的本机AVPictureInPictureControllerAVPictureInPictureController没有像旧MPMoviePlayerViewController那样的全局通知事件,并且我无法创建自己的AVPictureInPictureController实例以与 Web 视图一起使用以访问委托回调。我找不到有关如何挂钩到WKWebView对象的此内部AVPictureInPictureController的文档。我希望至少有一些方法可以用 KVO 做到这一点。

https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForPictureInPicture.html

WebKit 框架提供了 WKWebView 类,该类支持 iOS 9 中的画中画。

https://developer.apple.com/documentation/avkit/avpictureinpicturecontrollerdelegate/1614717-pictureinpicturecontrollerdidsto

如果你有任何访问你的AVPictureInPictureController你可以简单地设置它的委托并实现回调

class MyWebView: WKWebView {
    self.myPictureInPictureController.delegate = self
}
extension MyWebView: AVPictureInPictureControllerDelegate {
    func pictureInPictureControllerDidStopPictureInPicture(_ pictureInPictureController: AVPictureInPictureController) {
        //code
    }
}

我能够发现有一个名为PGPictureInPictureProxyPictureInPictureActiveChangedNotification的通知,当视频移动到画中画时调用,然后在画中画关闭时再次调用。我敢肯定它可以随时更改或删除,但它现在似乎正在工作。

相关内容

  • 没有找到相关文章

最新更新