我有一个iPhone应用程序,我将UIImagePickerController
加载到UIViewController
上。然后我在相机的顶部有一个自定义的视图。现在,当用户拍摄照片时,它会被加载到一个UIImageView
上,该照片会向用户询问您是要使用该照片还是另一张照片(从UIImageView
中删除图像)。这工作完美。MPMoviePlayerController关闭我的UIImagePickerController
现在,如果用户刚刚录制了视频,我想在视频的某个位置进行快照预览,并将其作为静态图像显示在同一个UIImageView
中。我使用以下代码执行此操作:
MPMoviePlayerController *videoPlayer = [[MPMoviePlayerController alloc] init];
videoPlayer.shouldAutoplay = NO;
[videoPlayer setContentURL:[info valueForKey:UIImagePickerControllerMediaURL]];
UIImage *videoScreenShot = [videoPlayer thumbnailImageAtTime:(videoPlayer.duration/2.0) timeOption:MPMovieTimeOptionNearestKeyFrame];
photoPreview.image = videoScreenShot;
[videoPlayer release]
这可按预期工作。问题是如果我想拍摄另一个视频。当我打电话:
[videoPlayer setContentURL:[info valueForKey:UIImagePickerControllerMediaURL]];
相机快门关闭,相机看似驳回。试图拍照或录制视频给我:
UIImagePickerController: ignoring request to take picture; camera is not yet ready.
UIImagePickerController: ignoring request to start video capture; camera is not yet ready.
我已经打过电话后以下,其中有没有效果:再次
myImagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeCamera];
[myImagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
我尝试添加了UIImagePickerController
到UIIViewController
,这造成了一些奇妙的冻结。
最后我试着注释掉didReceivedMemoryWarning
的UIViewController's
[super didReceivedMemoryWarning]
行。这也没有效果。我想接管UIImagePicker
也需要。我该如何回馈?