6

ストリーミングビデオを処理するアプリがあります。.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 インスタンスで、プログレッシブ ダウンロード ビデオの後にストリーミング ビデオを再生できない可能性はありますか? それとも、私が間違っていることが他にあるのでしょうか?

4

1 に答える 1

2

このバグは既知の問題であり、iOS の次のメジャー リリースで修正される予定です。

当面の間、新しい AVPlayer オブジェクトを作成することが唯一の既知の回避策です。

于 2012-07-03T19:54:06.573 に答える