我有一个带有2个音轨和一个视频轨的AVMutableComposition.我正在使用该合成来从.mov文件中串起大约40个不同的视频片段,将每个片段的视频内容放入我的合成视频轨道和音频轨道中的音频.我用于音乐的第二个音轨.
我还有一个标题图形的同步图层.
我还有一个标题图形的同步图层.
当我使用AVPlayer播放此合成时,音频慢慢变得不同步.大约需要4分钟才能开始变得明显.看起来如果我只将一小撮较长的剪辑串在一起,问题就不那么明显了,那就是当有很多剪辑较短的剪辑(在我的测试中约为40)时,它变得非常糟糕.
暂停和播放不会重新同步音频,无论如何寻求.换句话说,如果我让视频播放到最后,即使我在整个过程中暂停和播放,唇音同步也会明显关闭,但是,如果我寻找一段时间,音频会重新同步.
我现在的hacky解决方案是每分钟左右寻找当前时间1帧.由于搜索操作的延迟,这会在视频中产生令人不快的跳跃,因此不是一个好的解决方案.
使用ExportSession导出不会出现此问题,音频在输出影片中保持同步.
我想知道AVPlayer中的新masterClock属性是否是这个的答案,如果是,它是如何使用的?