AVCaptureSession暂停?
问题描述:
我现在用的是AV基金会连续捕捉图像苹果发布的iOS 4.0后,按照给出的代码, http://developer.apple.com/iphone/library/qa/qa2010/qa1702.htmlAVCaptureSession暂停?
然而,当我打电话“[会议startRunning]。”大约需要1-2秒才能启动相机预览。所以,这对最终用户来说是令人沮丧的,因为他需要等待一段时间。
有没有办法暂停会话,而不是停止它,因为我可以在程序启动时初始化会话,并保持暂停,直到用户导航到相机屏幕并开始在那里运行它?谢谢你的帮助。
答
没有办法“暂停”会话,但您可以随时启动捕获会话并保持运行状态。如果您正在捕捉静止图像,请在准备就绪时调用CaptureStillImageAsynchronouslyFromConnection。如果你在捕捉视频,你可以在代理中使用captureOutput:didOutputSampleBuffer:fromConnection:方法,直到你想对它们做些什么为止。您甚至可以在没有输出设备的情况下启动捕获会话,直到您准备好(尚未尝试过)。
答
而不是暂停您的会话,而是可以禁用输入连接。
例如
<your_video_preview_layer>.connection.enabled = NO;
这样它就不会消耗来自输入设备的数据。
希望这是你在找什么。
答
这是我做的,以防止UI在调用-startRunning时锁定最初的1-2秒。
1) Add UIActivityIndicator
2) Add observer to AVCaptureSession
3) call -startRunning in a background thread
4) Resume the UI in the notification callback