Avcapturessession停顿?
-
26-09-2019 - |
题
在Apple发布iOS 4.0之后,我使用AV基金会连续捕获图像,遵循由http://developer.apple.com/iphone/library/qa/qa2010/qa1702.html
但是,当我称“ [会议startrunning]”时;启动相机预览大约需要1-2秒。因此,这让最终用户需要等待一段时间,这让他感到沮丧。
有没有办法暂停会话而不是停止会话,因为我可以在程序启动时启动会话并保持暂停,直到用户导航到相机屏幕并开始在那里运行?谢谢你的帮助。
解决方案
没有办法“暂停”会话,但是您可以随时开始运行捕获会话,然后让其运行。如果您正在捕获静止图像,则只需在准备就绪时致电carturestillimageasynchronallyconnection。如果您要捕获视频,则可以具有捕获图:DIDOUTPUTSMAPLEBUFFER:FromConnection:Anconnection:Methoce in the Adegate中只是扔掉框架,直到您想对它们做某事。您甚至可以在没有输出设备的情况下启动捕获会话,直到您准备就绪(尚未尝试过)。
其他提示
而不是暂停会话,而是可以禁用输入连接。
例如
<your_video_preview_layer>.connection.enabled = NO;
这样它将不会消耗输入设备的数据。
希望这就是您想要的。
这就是我为防止UI锁定最初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
不隶属于 StackOverflow