AVPlayer не переключается между прогрессивной загрузкой и потоковой передачей

У меня есть приложение, которое обрабатывает потоковое видео. Начиная с списка воспроизведения.m3u8, он создает массив AVAssets и пролистывает их

[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:[assetItems objectAtIndex:index]]]

Это прекрасно работает, но перед этим я хочу транслировать короткое видео в формате mp4 с использованием прогрессивной загрузки. Я загружаю AVPlayer используя

AVAsset *prerollAsset = [AVAsset assetWithURL:prerollURL];
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:prerollAsset]];

Он воспроизводится, но когда я продолжаю потоковое видео, как и раньше, я получаю состояние AVPlayerStatusFailed с ошибкой в ​​AVPlayerItem: The operation could not be completed

Чтобы это работало, мне нужно создать объект AVPlayer для предварительной загрузки (прогрессивная загрузка), а затем совершенно новый объект AVPlayer, чтобы начать воспроизведение потокового видео.

Возможно ли, что один экземпляр AVPlayer не способен воспроизводить видео с прогрессивной загрузкой, за которым следует потоковое видео? Или может быть что-то еще я делаю не так?

1 ответ

Решение

Эта ошибка известна и предположительно исправлена ​​в следующем основном выпуске iOS.

Тем временем создание нового объекта AVPlayer - единственный известный обходной путь.

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