根据文档,当AVPictureInPictureController关闭时,无论如何关闭,都会调用willStop和didStop委托方法以及restoreUserInterfaceForPictureInPictureStopWithCompletionHandler。如何判断控制器是否被" X"按钮或其他按钮返回常规播放?
答案 0 :(得分:1)
X按钮和恢复按钮之间的差异是:
点击恢复PiP按钮将触发
"pictureInPictureController(_:restoreUserInterfaceForPictureInPictureStopWithCompl etionHandler:)"
"pictureInPictureControllerWillStopPictureInPicture"
"pictureInPictureControllerDidStopPictureInPicture"
点按“关闭”按钮将跳过restoreUserInterface回调并直接进入
"pictureInPictureControllerWillStopPictureInPicture"
"pictureInPictureControllerDidStopPictureInPicture"
因此,您可以使用Bool标志检入willStop / DidStop是否已调用restoreUserInterface。
在AVPictureInPictureViewController中还有一个pictureInPictureSuspended
属性,但我尝试检查它的值,发现它总是在两种情况下都返回false,所以我必须使用上面的技巧来检查用户是否点击了恢复或关闭按钮。 / p>