带摄像头源的UIImagePickerController:视频修剪不起作用

kri*_*ssb 5 iphone camera iphone-sdk-3.0

UIImagePickerController用来录制sourceType设置为的视频UIImagePickerControllerSourceTypeCamera.

我设置allowsEditing为true,以便在选择器返回之前编辑视频.但是在我使用修剪界面编辑视频并按"选择"后,我只返回代表中的原始记录,而不是修剪版本.我究竟做错了什么?我正在使用iPhone OS 3.1.3.我记得这曾经在早期的版本中工作,但它似乎在最新的操作系统中失败了.任何帮助表示赞赏?

顺便说一句,我确认如果视频的来源是UIImagePickerControllerSourceTypeSavedPhotosAlbum,修剪工作在3.1.3版本.因此,当相机失败时,使用源修剪.有趣的是,相机胶卷/相册作为来源,会出现"选择"按钮,点击后不久,控制器会显示一条消息,说"正在修剪视频......".使用相机源时,我不会收到此消息.

这是我用于使用相机源录制视频的代码片段.

- (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];   
}
Run Code Online (Sandbox Code Playgroud)

我的代表实施如下:

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo: (NSDictionary *)info {

  [picker dismissModalViewControllerAnimated:YES];
  self.videoPath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
  ...
}
Run Code Online (Sandbox Code Playgroud)

非常感谢,

克里斯.

Ken*_*zer 0

我自己就遇到了这个问题......并在寻找解决方案时发现了这篇文章。

看起来解决这个问题的唯一方法是将文件复制到应用程序的目录,然后打开 UIVideoEditorController ...

有谁知道这个 UIImagePickerController 新捕获的视频没有被修剪的问题是 SDK 中的错误,还是我们做错了什么?

  • 不,事情没那么简单。选择图像时,会返回编辑后的图像和原始图像。当使用 sorceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum 选择视频时,会返回修剪后的视频。据观察,每当返回未修剪的视频时,该字典还包含@“_UIImagePickerControllerVideoEditingStart”和@“_UIImagePickerControllerVideoEditingEnd”键以及修剪的开始和停止时间(以秒为单位)。我想我们必须寻找这些并自己进行修剪(如果有的话) (3认同)