如何解决 iPhone 6 或 iPhone 6s 上从后台切换到前台播放视频会显示为 1 到 2 秒的绿屏
iPhone 6 搭载的是 A8 芯片,iPhone 6s 搭载的是 A9 芯片。
该问题是由于切换到后台后,解码器会话会失效,当再次进入前台时,需要再次创建会话,但由于使用的视频通道没有变,继续播放接收到的很大可能是 P 帧,iOS P 帧的解码分为以下两种情况:
- A9 及以下芯片的解码器新的会话会解码无完整 GOP 的 P 帧,并将无法渲染的画面用绿色填充,即视频解码渲染开发中常说的绿屏。
- 而 A9 以上的芯片则算法是直接不解码无完整 GOP 的 P 帧,因此没这个问题。