我将我的视频和图像以NSData格式存储在缓存中。我想检索图像并在imageController上显示它也想要检索视频并在videoController上显示它。 我可以通过查看文件扩展名来区分它们。但问题是在imageController中我可以使用NSData初始化图像:
NSData *data=[NSData dataWithContentsOfURL:[NSURL fileURLWithPath:filePath isDirectory:NO]];
UIImage *image=[[UIImage alloc]initWithData:data];
但我如何使用NSData播放视频?
答案 0 :(得分:2)
如果您可以获得其路径扩展,则可以为每种类型使用单独的实现。没必要一路走下去,呃?
-(void)example:(NSString*)filePath {
if ([filePath.pathExtension isEqualToString:@"png"]) {
NSData *data=[NSData dataWithContentsOfURL:[NSURL fileURLWithPath:filePath isDirectory:NO]];
UIImage *image=[[UIImage alloc]initWithData:data];
} else if ([filePath.pathExtension isEqualToString:@"mp4"]) {
MPMoviePlayerController *player =
[[MPMoviePlayerController alloc] initWithContentURL: [NSURL urlWithString:filePath]];
[player prepareToPlay];
[player.view setFrame: myView.bounds]; // player's frame must match parent's
[myView addSubview: player.view];
// ...
[player play];
}
}