ダウンロードしたビデオを自動的に表示するにはどうすればよいですか?
テーブルビューには、一連の AVPlayer ビデオがあります。
各セル (cellForRowAtIndexPath メソッド) には、AVPlayer が再生するアセットを生成する次のコードがあります。
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:[self getURL:someURLString] options:nil];
getURL
- ビデオがローカルに保存されている場合は、ローカル URL を返します
- ビデオがリモートに保存されている場合は、ビデオ データをローカル URL にダウンロードしてから、ローカル URL を返します。
私が抱えている問題は、ビデオがダウンロードされたときに、セルをスクロールしてから、もう一度上にスクロールして表示する必要があることです。(ビデオがすでにローカルに保存されている場合、これは起こりません)
setNeedsDisplay
や などの方法を使用しreloadRowsAtIndexPath
ました。しかし、彼らは働いていません。
助けてくれてありがとう!:)
何らかの理由で UITableViewCell は cellForRowAtIndexPath 中に停止しますか? ローカル URL が返されたときに (cellForRowAtIndexPath が呼び出される前に) 古いバージョンのローカル URL に到達しようとするという意味で? (ただの勝手な推測?)
一時的な解決策:
これが機能していないように見えるため、cellForRowAtIndexPath よりもビデオをダウンロードするより良い方法 (各ビデオは約 200KB のみ) を提案できますか?