我正在使用
AVPlayerViewController
并设置了 canStartPictureInPictureAutomaticallyFromInline = true
,它按预期工作。
我想要实现的是,如果在视频处于画中画模式时打开应用程序,我想自动关闭画中画以将视频放回
AVPlayerViewController
,因为当前视频保持在画中画模式并且应用内视频播放器显示画中画占位符。
我可以监听
AVPlayerViewControllerDelegate
中的委托回调来了解 PiP 何时处于活动状态,但我不知道如何关闭它。
AVPictureInPictureController
有 stopPictureInPicture()
功能,但我不知道如何向我的播放器添加 AVPictureInPictureController
。
我使用传递到
AVPlayer
的 AVPlayerViewController
实例,但从我所看到的情况来看,我需要一个 AVPlayerLayer
传递到 AVPictureInPictureController
。
您可以尝试实现一些委托方法来隐藏您的播放器视图。
- (void)playerViewControllerWillStartPictureInPicture:(AVPlayerViewController *)playerViewController
{
[pipCustomMessageStack setAlpha:1.0];
[cameraController.view setAlpha:0.0];
}
- (void)playerViewControllerDidStopPictureInPicture:(AVPlayerViewController *)playerViewController
{
[pipCustomMessageStack setAlpha:0.0];
[cameraController.view setAlpha:1.0];
}