2009-06-01 9 views
17

MPMoviePlayerControllerのinitWithContentURL:を使用してビデオを起動した後、ダウンロードしたビデオをキャッシュして、次に再生するときにローカルファイル:// URI経由でロードできるようにしますか? ムービープレーヤーを起動することはできますが、プレロードが完了する前にプレイヤーの能力を活用したいと考えています。MPMoviePlayerControllerで事前ロードを成功させた後にディスクにビデオをキャッシュする

+1

この問題を解決する方法はありますか? –

+1

キャッシュをサポートする代替ビデオプレーヤーはありますか? – mariosangiorgio

答えて

3

トリックは、(アトミック:YESを使用して)ディスクにダウンロードを開始し、10秒待ってからムービープレーヤーをローカルディスクパスに向けることです。それは不完全なファイルを再生しながら "ダウンロード"します。

次回は、ファイルが最初に存在するかどうかを確認してください。

私はWIFI接続でこれをうまく動作させることができましたが、3Gではあらゆる種類のクラッシーさがありました。

さらに悪いことに、不完全なローカルファイルに問題がありました。それが価値があるかどうか私に教えてください。

+0

Mmm ...私はこれを試してみましたが、あまりにもエラーが発生しやすくなりました。私の最新の回答に従って、カスタムディスク専用キャッシュ実装で '[NSURLCache sharedURLCache]'をオーバーライドしようとしたことがありますか? –

2

私はこれをテストしていませんが、ディスク専用のカスタムキャッシュ実装で[NSURLCache sharedURLCache]を無効にすることができます。 MPMoviePlayerControllerNSURLRequestを使用すると、動作する可能性があります。

+0

誰もこれをテストしましたか? –

+5

私はそれをテストしました。 MPMoviePlayerControllerはNSURLCacheをまったく使用しません。 – Slavik

関連する問題