缓存视频iOS
我如何才能完全了解该资产或项目或任何下载的视频。 我需要它为将来缓存它 现在我使用缓存视频iOS,ios,objective-c,caching,avplayer,avplayeritem,Ios,Objective C,Caching,Avplayer,Avplayeritem,我如何才能完全了解该资产或项目或任何下载的视频。 我需要它为将来缓存它 现在我使用 AVAsset *asset = [AVAsset assetWithUrl:@"myUrl.mp4"]; AVPlayerItem * item = [AVPlayerItem itemWithAsset:asset]; AVPlayer * player = [AVPlayer playerWithItem:item]; playerViewController.player = player
AVAsset *asset = [AVAsset assetWithUrl:@"myUrl.mp4"];
AVPlayerItem * item = [AVPlayerItem itemWithAsset:asset];
AVPlayer * player = [AVPlayer playerWithItem:item];
playerViewController.player = player;
[player play];
当我从nscache中检索数据时,我将其写入文件并播放
NSData * videoData = [NSData dataWithUrl:myurl.mp4"];
NSCache *cache = [NSCache new];
[cache setObject:videoData forKey:myUrl];
然后
NSData *videoData = [cache objectForKey:myUrl];
[videoData writeToFile:MyPath.mp4 atomically:YES];
…等着玩
但是它有点慢。
如果视频数据包含在AVAsset中,我可以存储它或AVPlayerItem。但我需要知道它是何时下载的
如何以不同的方式实现缓存或升级此缓存。帮助。我们可以使用nsursession、download in progress和completion fires委托方法从云下载任何数据,我们可以通过使用该委托方法了解下载完成事件和进度事件,您可以使用以下方法实现下载功能
我们可以使用nsursession、download in progress和completion fires委托方法从云下载任何数据,我们可以通过使用该委托方法了解下载完成事件和进度事件,您可以使用以下方法实现下载功能
我有一个应用程序,它具有视频项目的垂直收集视图,每个项目都应该不断重复,直到向上或向下滑动 所以我不需要每次流式传输文件,也不需要下载以前下载的文件 我提出了稍微不同的方法:
但我想这是跛脚的。我得用蒸汽锉两次。第一次运行时,然后在保存文件时。我只想将当前应用程序会话的AVAsset缓存到内存中,因此我不需要保留文件。我有一个应用程序,它具有视频项目的垂直收集视图,每个项目都应该不断重复,直到向上或向下滑动为止 所以我不需要每次流式传输文件,也不需要下载以前下载的文件 我提出了稍微不同的方法:
NSURL *url = [NSURL fileUrlWithPath:mypath];
AVAsset *asset = =[AVAsset assetWithURL:url];