【发布时间】:2011-01-14 05:53:54
【问题描述】:
我正在使用UIImagePickerController 录制视频,并将sourceType 设置为UIImagePickerControllerSourceTypeCamera。
我已将 allowsEditing 设置为 true,以便可以在选择器返回之前编辑视频。但是在我使用剪裁界面编辑视频并按“Pick”后,我只取回了delegate中的原始录制,而不是剪裁后的版本。我究竟做错了什么?我正在使用 iPhone OS 3.1.3。我记得这曾经在早期版本中工作,但在最新的操作系统中似乎失败了。任何帮助表示赞赏?
顺便说一下,如果视频的来源是UIImagePickerControllerSourceTypeSavedPhotosAlbum,那么修剪在3.1.3版本中有效。因此,在相机出现故障时使用源进行修剪。有趣的是,以相机胶卷/相册作为来源,会出现一个“选择”按钮,单击它后不久,控制器会显示一条消息,说“正在修剪视频......”。使用相机源时没有收到此消息。
这是我用来使用相机源录制视频的代码的 sn-p。
- (void) recordVideo {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
picker.videoQuality = UIImagePickerControllerQualityTypeHigh;
[self presentModalViewController:picker animated:YES];
[picker release];
}
我的委托实现如下:
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo: (NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
self.videoPath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
...
}
非常感谢,
克里斯。
【问题讨论】:
标签: iphone iphone-sdk-3.0 camera