使用AVPlayer和AVMutableComposition进行未alignment的声音播放

我正尝试使用AVComposition从多个乐器样本创build一首歌曲。

当我用kCMTimeZeroAVMutableComposition播放两个声音资产时,我希望他们可以同时播放,但有一个很小的偏移量。

这只会发生在第一个playthrough,所以这似乎是某种加载延迟,但不pipe我尝试它不会消失。

我已经确保预加载音轨资源,预加载合成音轨,等待playerItem准备好,然后等待播放器准备好播放。 我尝试过预卷播放器,播放/暂停播放,等等。第一次播放时,音轨之间总会有轻微的偏移。

我已经创build了一个小样本项目来演示这里的效果

主要代码在这里

请注意,当你第一次加载应用程序,并播放时,声音略有偏移。 随后重复的声音(和同一个playerItem的重放)没有这个问题。

延迟最初的声音似乎解决了这个问题,但这不是一个很好的select。

任何想法,如果这可以修复或如果我失去了一些东西?

谢谢