Reprodução de som desalinhada usando AVPlayer e AVMutableComposition

Estou tentando criar uma música a partir de várias amostras de instrumentos usandoAVComposition.

Quando eu jogo dois ativos de som emkCMTimeZero em umAVMutableComposition, Eu esperaria que eles tocassem ao mesmo tempo, mas há uma pequena diferença.

Isso só acontece no primeiro playthrough, então parece ser algum tipo de atraso de carregamento, mas não importa o que eu tente, ele não vai embora.

Certifiquei-me de pré-carregar as faixas de recursos de som, pré-carregar as trilhas de composição, esperar peloplayerItem para estar pronto, e aguarde o jogador estar pronto para jogar. Eu tentei prerollar o player, reproduzir / pausar, etc. Há sempre um ligeiro deslocamento entre as faixas na primeira vez que elas são tocadas.

Eu criei um pequeno projeto de amostra para demonstrar o efeitoAqui

O código principal éAqui

Observe que, quando você carrega o aplicativo pela primeira vez e clica em reproduzir, os sons são ligeiramente deslocados. Repetições subsequentes dos sons (e replays do mesmo playerItem) não têm esse problema.

Atrasar os sons iniciais parece resolver o problema, mas essa não é uma opção muito boa.

Alguma idéia se isso pode ser corrigido ou se eu estou perdendo alguma coisa?

obrigado

questionAnswers(0)

yourAnswerToTheQuestion