【发布时间】:2017-01-24 11:25:29
【问题描述】:
AVAsset *asset = [AVAsset assetWithUrl:@"myUrl.mp4"];
AVPlayerItem * item = [AVPlayerItem itemWithAsset:asset];
AVPlayer * player = [AVPlayer playerWithItem:item];
playerViewController.player = player;
[player play];
我如何才能完全了解该资产或项目或任何下载的视频。 我需要它以备将来缓存它;
现在我正在使用
NSData * videoData = [NSData dataWithUrl:myurl.mp4"];
NSCache *cache = [NSCache new];
[cache setObject:videoData forKey:myUrl];
当我从 nscache 检索数据时,我将其写入文件并播放
NSData *videoData = [cache objectForKey:myUrl];
[videoData writeToFile:MyPath.mp4 atomically:YES];
然后
NSURL *url = [NSURL fileUrlWithPath:mypath];
AVAsset *asset = =[AVAsset assetWithURL:url];
..etc 和播放
但它有点慢。 如果 videoData 包含在 AVAsset 中,我可以存储它或 AVPlayerItem 。但我需要知道它何时下载。
我怎样才能以不同的方式实现缓存或升级这个。帮助。
【问题讨论】:
标签: ios objective-c caching avplayer avplayeritem