Попробуйте использовать AVQueuePlayer
. Я предполагаю, что то, что вы назвали лагом, на самом деле является задержкой перед буферизацией. Это должно быть сведено к минимуму или фактически полностью исключено при использовании AVQueuePlayer
, поскольку этот ребенок будет буферизовать следующий AVPlayerItem
во время воспроизведения текущего.
Из документации AVFoundation:
В iOS 4.1 и более поздних версиях вы можете использовать объект AVQueuePlayer для воспроизведения
количество элементов в последовательности (AVQueuePlayer является подклассом AVPlayer).
См. Также ответ Михая на Pre-buffering-for-avqueueplayer .