在我的应用程序中,用户可以播放视频并离开屏幕,它将继续在后台播放(只是音频)。然后他们可以返回继续观看视频。这意味着视频所在的视图将被销毁,然后在以后重新创建。每当重新创建视图并且播放器设置在其AVPlayerLayer上时,视频中存在明显的延迟,更重要的是音频。
有谁知道如何消除这种滞后?
答案 0 :(得分:1)
在音频或视频中没有任何延迟/延迟的情况下进行此工作的关键是将AVPlayerLayer存储在视图外部。重新加载控制器时,只需将旧视图附加到新视图控制器的视图,而不是创建新视图并将其播放器分配给同一个播放器。
只要视频仍在播放,视图就会保留在内存中,这样就不会创建并分配新的AVPlayerLayer。重新分配导致了滞后。