Search code examples
ios4avfoundationavcapturesession

AVCaptureSession pause?


I am using the AV Foundation for capturing images continuously after Apple released iOS 4.0 by following the codes given by, http://developer.apple.com/iphone/library/qa/qa2010/qa1702.html

However, when I call "[session startRunning];" it takes around 1-2 seconds to start the camera preview. So, this is frustrating to the end user as he needs to wait for some time.

Is there a way to Pause the session instead of stopping it since I can init the session at program launch and keep it pause until user navigates to the camera screen and start running it there ? Thanks for any help.


Solution

  • There is no way to "pause" the session, but you can start the capture session running at any time and just leave it running. If you are capturing still images, just call captureStillImageAsynchronouslyFromConnection when you're ready. If you're capturing video, you can have your captureOutput:didOutputSampleBuffer:fromConnection: method in the delegate just throw away frames until you want to do something with them. You might even be able to start the capture session without an output device until you're ready (haven't tried that).