Воспроизведение без промежутков с AVQueuePlayer/AVPlayer - возможно ли это?
Я играл с AVPlayer
и его подкласс AVQueuePlayer
(и массив MPMediaItem
s) и обнаружили, что последний лучше справляется с альбомами без пауз, но, похоже, ни один из них не достигает цели в полной мере.
Есть очень заметная пауза между текущей и следующей дорожкой при использовании AVPlayer
"s replaceCurrentItemWithPlayerItem
метод. Но с AVQueuePlayer
"s advanceToNextItem
В методе этот разрыв гораздо более узкий.
Единственными вариантами являются эти два класса, так как я имею дело с AVPlayerItem
которые содержат URL-адреса активов из элементов в музыкальной библиотеке iTunes. Тогда возникает вопрос, возможно ли вообще добиться безостановочного воспроизведения с помощью iOS SDK?
2 ответа
Вы можете использовать API-интерфейс AVAssetReader или Extended Audio File Services для чтения данных из аудиофайлов, а затем передавать несжатые аудиоданные в микшер Audio Unit с любым желаемым разрывом, без пропусков, с перекрытием или даже с микшированием. Правильное использование всех этих API-интерфейсов нетривиально.
Вы пытались использовать https://github.com/tumtumtum/StreamingKit framework для воспроизведения без пауз? Я пытаюсь исследовать эту тему самостоятельно.