2012-05-31 28 views
6

私はストリーミングビデオを扱うアプリケーションを持っています。 .m3u8プレイリストから始めて、それがAVAssetsの配列を作成し、AVPlayerがプログレッシブダウンロードとストリーミングを切り替えることはありません

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

によってそれらを介して反転させこれが正常に動作しますが、その前に、私は、プログレッシブダウンロードを使用して、短いMP4ビデオを放映します。私は、私は、それが果たしているが、私は以前のようにストリーミングビデオを続行する場合、私はそれが機能するためにThe operation could not be completed

のAVPlayerItemでエ​​ラーが発生して、AVPlayerStatusFailedのステータスを取得

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

を使用してAVPlayerをロード(プログレッシブダウンロード)プリロール用のAVPlayerオブジェクトを作成してから、完全に新しいAVPlayerオブジェクトを作成してストリーミングビデオの再生を開始する必要があります。

1つのAVPlayerインスタンスでプログレッシブダウンロードビデオとそれに続くストリーミングビデオを再生できない可能性はありますか?それとも、私が間違っている何かがあるかもしれませんか?

+1

私は同じ問題を抱えています。 MPMoviePlayerControllerにはAVSlayerまたはAVPlayerItemで設定することはできますが、AVPlayerやAVPlayerItemでは設定できないmovieSourceTypeプロパティがあります –

+0

このバグはまだiOS7.1 SDK –

+0

@KentNguyenに少し遅れていますが、https://developer.apple.com/library/mac/ドキュメンテーション/ AudioVideo/Conceptual/AVFoundationPG/Articles/02_Playback.html、パートを見てください**再生のためのHTTPライブストリームを作成して準備する** – onmyway133

答えて

2

このバグは既知の問題であり、次のメジャーリリースのiOSで修正されたと言われています。

中間では、新しいAVPlayerオブジェクトの作成は唯一の既知の回避策です。

+1

WWDC14のAppleエンジニアによれば、iOS 8にはまだこの問題があります。彼らはまた、彼らの優先順位リストでは非常に低いと述べた。回避策に戻る! – coco

関連する問題