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

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

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

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

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

Он воспроизводится, но когда я продолжаю потоковое видео, как и раньше, я получаю статус AVPlayerStatusFailed с ошибкой в ​​AVPlayerItem Операция не может быть завершена

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

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

6
задан coco 31 May 2012 в 18:19
поделиться