2

我需要能够访问pictureInPictureControllerDidStopPictureInPicture(_:)本地AVPictureInPictureController的委托回调方法WKWebViewAVPictureInPictureController没有像旧的MPMoviePlayerViewController那样的全局通知事件,我无法创建自己的实例AVPictureInPictureController来与 Web 视图一起使用来访问委托回调。我找不到关于如何挂钩到对象内部AVPictureInPictureController的文档WKWebView。我希望至少有一些方法可以用 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

4

2 回答 2

1

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

class MyWebView: WKWebView {

    self.myPictureInPictureController.delegate = self

}

extension MyWebView: AVPictureInPictureControllerDelegate {
    func pictureInPictureControllerDidStopPictureInPicture(_ pictureInPictureController: AVPictureInPictureController) {
        //code
    }
}
于 2017-10-16T17:11:16.657 回答
0

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

于 2017-10-25T06:24:07.373 回答