当AVQueuePlayer从资产跳到另一个时,烦人的延迟

Joe*_*Joe 6 mpmovieplayercontroller avfoundation ios avqueueplayer swift

我有一个AVQueuePlayer应该按顺序播放一个AVURLAsset表示一个连续视频的连续片段的数组.

每当一个片段结束而另一个片段开始时,就会有一个很小的小故障(帧保持约0.2秒,声音被静音)

我试着研究如何解决这个问题,但没有找到任何东西.我尝试用2来解决它,AVQueuePlayer并在每个片段结束前0.2秒左右切换.问题没有解决.

关于如何解决这个问题的任何想法?

注意:使用mp4 joiner软件将mp4片段连接在一起时,输出是一个平滑的视频,没有任何故障.

bla*_*cos 5

完全通过这个.无论你做什么,你都会经历这个小故障.原因是如何AVQueuePlayer运作.它在前一个结束时加载下一个项目.因此,如果您的视频很大,您可能还会看到空白屏幕2-3秒.一个解决方案是你提到的,即使用两个AVQueuePlayer.但正如你所说它不适合你,即使你让它工作,它也会很笨拙.

更好,更干净的解决方案是AVMutableComposition.它起初可能看起来很复杂,但它的快速和一次性任务.您可以创建所有视频​​的合成并以简单的方式播放AVPlayer.在你的情况下,我认为你只需要玩它,所以你甚至不必导出它.

要了解如何使用AVMutableComposition,请浏览此链接.它将用您需要的确切代码进行解释.