AVPlayer 音频在搜索后不同步

AVPlayer audio out of sync after seek

我在一个应用程序中使用 PlayerKit 从 Cloudinary 流式传输视频。 一切正常,直到我使用 seek 向前或向后移动视频。 我暂停视频,使用搜索将其移动到我希望的时间。之后视频播放正常,但音频仅在 20-30 秒后开始播放并且不同步。

我试过等待它缓冲,并尝试在 AVPlayerItem、Asset 和 Player 上使用不同的选项,但无济于事。我确实注意到的一件事是,当视频暂停时,音频不会被缓冲,它仅在我播放视频时才开始缓冲音频。

PlayerKit 只是 AVPlayer 的包装器,它使用 AVPlayer 方法和侦听器来通知我缓冲时间和播放状态,因此它不取决于 pod。

我通过从 mp4 切换到 m3u8 解决了这个问题。 m3u8 是一个播放列表信息文件,因此我可以改为从 cloudinary 流式传输。