我正在使用iOS中的視頻和圖像緩存。我已經實現了圖像緩存。現在,在相同的緩存我想存儲視頻我也有以下用於存儲圖像和視頻到緩存代碼:視頻緩存不工作
-(void)cacheFromURL:(Food*)foodForUrl
{
AppDelegate *app=[[UIApplication sharedApplication]delegate];
[app.imageCache setCountLimit:50];
NSURL *imageUrl=[NSURL URLWithString:foodForUrl.image];
NSURL *videoUrl=[NSURL URLWithString:foodForUrl.video];
UIImage* newImage = [cache objectForKey:imageUrl.description];
if(!newImage)
{
NSError *err = nil;
if(imageUrl!=Nil)
{
newImage=[UIImage imageWithData:[NSData dataWithContentsOfURL:imageUrl options:0 error:&err]];
}
if(videoUrl!=Nil)
{
moviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:videoUrl];
[app.imageCache setObject:moviePlayer forKey:videoUrl.description];
NSLog(@"video caching....%@",videoUrl.description);
}
if(newImage)
{
[app.imageCache setObject:newImage forKey:imageUrl.description];
NSLog(@"caching....");
}
else
{
}
}
}
我已經從緩存中檢索下面的代碼。它正在爲圖像工作,但它不適用於視頻:
- (IBAction)playButton:(id)sender
{
AppDelegate *app=[[UIApplication sharedApplication]delegate];
NSURL *url=[[NSURL alloc]initWithString:food.video];
NSLog(@"cached for:%@",url.description);
moviePlayerController=[[MPMoviePlayerController alloc]init];
// moviePlayerController=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL URLWithString:food.video]];
moviePlayerController=[app.imageCache objectForKey:url.description];
moviePlayerController.scalingMode=MPMovieScalingModeAspectFill;
moviePlayerController.view.frame=CGRectMake(320,200, 320,200);
[self.view addSubview:moviePlayerController.view];
[moviePlayerController play];
}
這種情況下播放視頻的問題是什麼?任何答案和建議將是有價值的
我正在從web.I一些圖像和視頻希望通過網絡數據加載到高速緩存中的背景和檢索的要求。它的工作圖像緩存?然後什麼是視頻緩存錯誤。我應該使用新的緩存進行視頻嗎? –
您沒有緩存視頻。您正在保存一個指針MPMoviePlayerController。 –
但同樣適用於圖像 –