AVPlayer seekToTime загружает безумное количество файлов медиа-сегмента, потребляющих много данных

Я работаю в приложении, где могу без проблем воспроизводить HLS m3u8 плейлист потокового радио (только аудио), используя экземпляр AVPlayer. Используя Чарльз, я вижу, как список воспроизведения корректно обновляется в обычном темпе (каждые 9-10 секунд, что занимает один файл медиа-сегмента). Когда я выполняю seekToTime: (назад во времени), проигрыватель успешно воспроизводит поток с того момента, когда я хочу, но в Чарльзе я наблюдаю, как проигрыватель начинает загружать огромное количество файлов мультимедийных сегментов, потребляя много данных. Кажется, что проигрыватель загружает все файлы мультимедийного сегмента до этого времени, а затем продолжает нормальное поведение.

Я понимаю, что правильное поведение - загружать файл мультимедийного сегмента в то время, которое я ищу, начать его воспроизведение, а затем постоянно загружать 1 или 2 файла мультимедийного сегмента каждые 9-10 секунд, как это происходит при воспроизведении потока. без смещения по времени

Мой вопрос: нормальное ли это поведение или что-то не так с моим списком воспроизведения m3u8 или реализацией клиента. Кто-нибудь может помочь мне прояснить это?

ОБНОВЛЕНО: я могу подтвердить, что это не происходит в iOS 7, поэтому, похоже, это ошибка, представленная iOS 8.

1 ответ

Решение

Apple сказала мне, что это не ошибка, а особенность. Они сделали буфер больше с iOS 8.

Другие вопросы по тегам