AVCaptureSession暂停?

cha*_*ram 9 avfoundation ios4 avcapturesession

我正在使用AV基金会在Apple发布iOS 4.0之后通过遵循http://developer.apple.com/iphone/library/qa/qa2010/qa1702.html给出的代码不断捕获图像

但是,当我调用"[session startRunning];"时 启动相机预览大约需要1-2秒.因此,这对最终用户来说是令人沮丧的,因为他需要等待一段时间.

有没有办法暂停会话而不是停止它,因为我可以在程序启动时启动会话并保持暂停直到用户导航到摄像机屏幕并开始在那里运行它?谢谢你的帮助.

Eug*_*nyk 28

您可以禁用输入连接,而不是暂停会话.

例如

<your_video_preview_layer>.connection.enabled = NO;
Run Code Online (Sandbox Code Playgroud)

这样它就不会消耗来自输入设备的数据.

希望这是你正在寻找的.


小智 2

无法“暂停”会话,但您可以随时启动捕获会话并使其保持运行状态。如果您要捕获静态图像,只需在准备好后调用 captureStillImageAsynchronouslyFromConnection 即可。如果您正在捕获视频,则可以让委托中的 captureOutput:didOutputSampleBuffer:fromConnection: 方法丢弃帧,直到您想要对它们执行某些操作。您甚至可以在没有输出设备的情况下启动捕获会话,直到您准备好为止(尚未尝试过)。