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?