UIImagePickerController与AVCaptureSession视频预览存在冲突

4
我有一个AVCaptureVideoPreviewLayer和一个AVCaptureSession,用于在屏幕上显示视频预览。

此外,我还有一个UIImagePickerController,用于捕获图片(使用UIImagePickerControllerOriginalImage)。

我的问题是,当我使用UIImagePickerController拍照时,AVCaptureSession 视频预览会冻结。

如何防止在使用UIImagePickerController拍照时,AVCaptureSession的视频预览冻结?


没有更多细节的情况下很难给出答案。由于两者使用相同的摄像头设备,并且图像选择器需要拥有它才能拍照,所以视频预览停止是正常的。为什么使用图像选择器来拍照而不直接使用AVCaptureSession的函数来拍照? - pteofil
只贴相关代码 (void)imagePickerController:pickerController didFinishPickingMediaWithInfo:(NSDictionary - Tharif
1个回答

1
在关闭视频捕获会话后,尝试创建新视图并将PBJViewcontroller添加到其中,在视图控制器对象中传递videopath字符串。
例如:
[self dismissViewControllerAnimated:YES completion:nil];
UIView *movieVW = [[UIView alloc]initWithFrame:CGRectMake(0,44, 1024, 724)];
[previewBaseView addSubview:movieVW];
_videoPlayerController = [[PBJVideoPlayerController alloc] init];
_videoPlayerController.delegate = self;

_videoPlayerController.view.frame = movieVW.frame;

 NSString *myString = [outputURL absoluteString];

_videoPlayerController.videoPath = myString;

 [previewBaseView addSubview:_videoPlayerController.view];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接