AVPlayer nie przełącza się między progresywnym pobieraniem a transmisją strumieniową

Mam aplikację, która obsługuje przesyłanie strumieniowe wideo. Zaczynając od listy odtwarzania .m3u8, tworzy tablicę zestawów AVAssets i przerzuca je przez

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

Działa to dobrze, ale wcześniej chciałbym wysłać krótki film MP4 za pomocą progresywnego pobierania. Używam AVPlayera

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

Gra, ale kiedy kontynuuję przesyłanie strumieniowe wideo, jak poprzednio, otrzymuję status AVPlayerStatusFailed, z błędem AVPlayerItem zThe operation could not be completed

Aby działał, muszę utworzyć obiekt AVPlayer dla preroll (pobierania progresywnego), a następnie całkowicie nowy obiekt AVPlayer, aby rozpocząć odtwarzanie strumieniowego wideo.

Czy jest możliwe, że jedna instancja AVPlayera nie jest w stanie odtwarzać progresywnego wideo do pobrania, a następnie strumieniowego przesyłania wideo? Czy może jest coś innego, co robię źle?

questionAnswers(1)

yourAnswerToTheQuestion