在我的应用程序中,我想将刚刚拍摄的电影保存到核心数据中。我不希望这些电影最终出现在一般的相机胶卷中。我的想法是获取剪辑并将其加载到对象“电影”中,然后我可以将其保存到 cor 数据中。很像地址簿中的照片。核心数据让我们保存到外部记录文件中,无论是什么。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
movie = [info objectForKey:UIImagePickerControllerOriginalImage];
但是当我去保存时,电影显示为零。
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *newMedia = [NSEntityDescription insertNewObjectForEntityForName:@"Media" inManagedObjectContext:context];
[newMedia setValue:@"Video Clip " forKey:@"title"];
[newMedia setValue:now forKey:@"date_time"];
[newMedia setValue:movie forKey:@"movie"];
我希望有人能指出我正确的方向。 谢谢
最佳答案
你可以这样获取视频:
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
NSData *videoData = [NSData dataWithContentsOfURL:videoURL];
并将 videoData
保存在数据库中,在您的例子中是 movie
,只要它是 NSData
类型即可。
您的代码:
movie = [info objectForKey:UIImagePickerControllerOriginalImage];
应该在你拍照后从 imagePickerController
获取 UIImage
如果你说你正在录制那么这就是为什么 movie = nil;
关于iOS 将电影从相机保存到核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17723006/