UIImagePicker和AVCaptureSession同时访问相机

5
我想知道是否可能同时让一个AVCaptureSession实例和UIImagePicker访问相机。
我想创建一个应用,在相机激活时以UIImagePicker的叠加视图形式显示环境光线计/指示器。我之前使用UIGetScreenImage()实现了这一点,但是苹果现在禁止使用此私有API,转而使用AVCaptureSession。在我的实验中,当UIImagePicker显示相机视图时,AVCaptureSession似乎会挂起。有任何想法吗?谢谢!

它们不能同时访问相机设备。UIGetScreenImage()是如何解决这个问题的?您想要包括仪表的快照吗? - John Carter
嗨@John Carter,UIGetScreenImage()只是拍摄了屏幕截图,我可以使用它来分析从相机显示的图像的环境光水平。 - Casey Flynn
好的,那么您需要运行AVCaptureSession(以呈现实时图像),如果您想拍照,则可以使用AVCaptureStillImageOutput或(我更熟悉的)AVCaptureVideoDataOutput。您的仪表应该能够像我在Live Effects Cam中所做的那样成为实时视图,以将实时视图转换为黑白或其他效果。 - John Carter
2个回答

4
您不应该使用UIImagePicker。相反,您应该使用AVCaptureSession。
这里有两个教程可以帮助您。第一个教程向您展示如何设置实时摄像头视图并在其上叠加UI元素。您可以在此处找到该教程:这里
第二个教程向您展示如何从实时摄像头视图中捕获图像。您可以在此处找到该教程:这里

0

我认为他们不能同时访问这两个东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接