关闭AVPictureInPictureController

时间:2016-04-13 22:43:25

标签: ios avkit

根据文档,当AVPictureInPictureController关闭时,无论如何关闭,都会调用willStop和didStop委托方法以及restoreUserInterfaceForPictureInPictureStopWithCompletionHandler。如何判断控制器是否被" X"按钮或其他按钮返回常规播放?

1 个答案:

答案 0 :(得分:1)

X按钮和恢复按钮之间的差异是:

点击恢复PiP按钮将触发

"pictureInPictureController(_:restoreUserInterfaceForPictureInPictureStopWithCompl etionHandler:)"
"pictureInPictureControllerWillStopPictureInPicture"
"pictureInPictureControllerDidStopPictureInPicture"

点按“关闭”按钮将跳过restoreUserInterface回调并直接进入

"pictureInPictureControllerWillStopPictureInPicture"
"pictureInPictureControllerDidStopPictureInPicture"

因此,您可以使用Bool标志检入willStop / DidStop是否已调用restoreUserInterface。

在AVPictureInPictureViewController中还有一个pictureInPictureSuspended属性,但我尝试检查它的值,发现它总是在两种情况下都返回false,所以我必须使用上面的技巧来检查用户是否点击了恢复或关闭按钮。 / p>