我们正在为我们的用户实现自定义画中画(PIP)体验。因此,用户可以选择在PIP模式下播放全屏视频。为此,我们从已经存在的AVPlayer(以全屏模式播放)创建一个新的AVPlayerLayer,并将该层添加到我们的PIP容器视图中。
AVPlayer *player = *<getting existing AVPlayer instance>*
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
[playerLayer setFrame:self.view.bounds]; //self.view is our PIP container view.
playerLayer.contentsGravity = kCAGravityResizeAspect;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
//add player layer below control options layer
[playerContainterView.layer insertSublayer:playerLayer below:self.controlOptionView.layer];
如果视频具有隐藏字幕,则启用它可以在全屏视频中正确显示字幕,但是当用户调用PIP模式时会出现问题。新创建的playerLayer不显示字幕。同样,当视频从PIP模式恢复到全屏模式时,字幕不会显示。从那时起,更改隐藏字幕设置将不会显示字幕。
有人遇到这个问题吗?