字幕未显示在重复的AVPlayerLayer上

时间:2018-08-01 16:49:48

标签: ios avfoundation avplayer avplayerlayer picture-in-picture

我们正在为我们的用户实现自定义画中画(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模式恢复到全屏模式时,字幕不会显示。从那时起,更改隐藏字幕设置将不会显示字幕。

有人遇到这个问题吗?

0 个答案:

没有答案