是否可以从 AVPlayerViewController 中取消画中画

问题描述 投票:0回答:1

我正在使用

AVPlayerViewController
并设置了
canStartPictureInPictureAutomaticallyFromInline = true
,它按预期工作。

我想要实现的是,如果在视频处于画中画模式时打开应用程序,我想自动关闭画中画以将视频放回

AVPlayerViewController
,因为当前视频保持在画中画模式并且应用内视频播放器显示画中画占位符。

我可以监听

AVPlayerViewControllerDelegate
中的委托回调来了解 PiP 何时处于活动状态,但我不知道如何关闭它。

AVPictureInPictureController
stopPictureInPicture()
功能,但我不知道如何向我的播放器添加
AVPictureInPictureController

我使用传递到

AVPlayer
AVPlayerViewController
实例,但从我所看到的情况来看,我需要一个
AVPlayerLayer
传递到
AVPictureInPictureController

ios avfoundation avplayer avkit picture-in-picture
1个回答
0
投票

您可以尝试实现一些委托方法来隐藏您的播放器视图。

- (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];
}
© www.soinside.com 2019 - 2024. All rights reserved.