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