我和我的团队有一个问题,我们现在几周都无法解决。
当我们在两个视频之间向前搜索时AVComposition
- 预览冻结(AVPlayer
用于AVPlayerLayer
播放)。它卡在第一个视频的最后一帧。如果它是简单的播放(不是搜索)或者搜索速度很快,它不会冻结。
这是正在发生的事情的屏幕录像: https ://www.dropbox.com/s/hxk33u3id7eug2i/AVCompositionFreezeScreenRecording.mov?dl=0
感觉就像我们尝试了一切,但没有任何帮助。添加第二个视频时,我们要求AVMutableComposition
一个兼容的轨道,它返回给我们现有的轨道,因此我们得出结论两者assetTrack
是兼容的。
多次检查所有范围和持续时间。
它在videoComposition
设置时playerItem
和未设置时都会失败。
我目前的理论是即使composition
说存在compositionTrack
与第二个视频兼容,我们也不能出于某种原因将第二个视频放入其中,也许转换不兼容或者我不知道。还有一点需要注意 - 如果我们videoAssetTrack
采用持续时间短于的源范围videoAssetTrack.timeRange.duration
- 那么一切正常。分段时间映射可能存在一些问题,但我们尝试使用它的任何方法都失败了。
我试图尽量减少演示问题所需的代码量,所以希望很容易理解我在说什么。只需从 video1 的末尾慢慢搜索到 video2 的开头,它就会卡住。 https://www.dropbox.com/s/c6guzplt5mq4zpi/AVCompositionFreezeDemo.zip?dl=0
非常感谢您,任何帮助将不胜感激!