Misaligned Sound Playback using AVPlayer and AVMutableComposition
Asked Answered
T

0

3

I'm trying to create a song from multiple instrument samples using AVComposition.

When I play two sound assets at kCMTimeZero in an AVMutableComposition, I would expect them to play at the same time, but there is a very slight offset.

This only happens on the first playthrough, so it would seem to be some kind of loading delay, but no matter what I try it doesn't go away.

I've made sure to preload the sound asset tracks, preload the composition tracks, wait for the playerItem to be ready, and wait for the player to be ready to play. I've tried prerolling the player, play/pausing it, etc. There is always a slight offset between the tracks the first time they're played.

I've created a small sample project to demonstrate the effect here

The main code is here

Note that when you first load the application and hit play, the sounds are slightly offset. Subsequent repeats of the sounds (and replays of the same playerItem) do not have this issue.

Delaying the initial sounds slightly seems to resolve the issue, but this is not a very nice option.

Any idea if this can be fixed or if I'm missing something?

Thanks

Thus answered 1/1, 2013 at 21:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.