从WWDC 2010打包AVCam演示

| 我在应用程序商店中有三个基于相机的应用程序(用于拍摄静态照片),并且收到有关UIImagePickerController接口非常慢的反馈-我不能否认这一点。因此,为了提高应用程序的性能,我开始尝试使用WWDC 2010的AVCam Demo源代码。 由于AVFoundation框架无法与UI Kit交互,因此我成功地将演示包装了视图。我能够在视图控制器之间成功转换。我唯一修改的是将“记录”按钮替换为“退出”按钮(退出到包装视图控制器) 修改后的应用程序在第一个会话期间可以正常工作(包装器->演示)。如果我将演示器退出到包装器,然后再次返回到演示器,则预览层中的视频帧将冻结一两秒钟。应用本身不会冻结-仅视频被冻结。此时,所有UI按钮均处于活动状态。但是,当我点击“静止”按钮捕获图像时,在警报中出现以下错误: 该操作无法完成(AVFoundationErrorDomain错误-11800。) 这无法在原始演示代码中重复-因为您无法关闭并重新打开会话。因此,我想知道这是否与我从测试会话中“退出”的方式有关。这是我在演示代码中添加的“退出”操作:
- (IBAction)exit:(id)sender
{
    [[self captureManager] stopRecording];
    [self dismissModalViewControllerAnimated:YES];
}
这够了吗-还是我错过了什么? 谢谢,山姆。     
已邀请:
存在一些以有序方式清理捕获会话的问题,因为存在一些异步调用,但没有提醒它们何时完成。 尝试按照此问题的建议停止并释放: 如何正确释放AVCaptureSession (以最高票数获得解决方案) 如果这样做没有帮助,则可能需要在此处发布更多代码。确定要更改所有内容? 祝好运! 奥德     

要回复问题请先登录注册