设置一个背景图像/视图来生活相机视图?
是否可以为特定的视图控制器设置背景以显示实时相机视图? 如果是这样的话,是否可以引导我朝正确的方向发展呢?
是的,绝对有可能。 你可以在UIView中embedded实时摄像头,你可以放在任何你喜欢的地方。
从这里开始阅读: AVFoundation参考 – 这是你的框架
你正在寻找的特定类是AVCaptureVideoPreviewLayer
这与AVCaptureSession一致
这是一个涵盖您所需要的一切的示例项目: AVCam
import:
#import <AVFoundation/AVFoundation.h>
要将相机视图添加到控制器视图,请在viewDidLoad
添加以下代码:
AVCaptureSession *session = [[AVCaptureSession alloc] init]; session.sessionPreset = AVCaptureSessionPresetHigh; AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; NSError *error = nil; AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error]; [session addInput:input]; AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session]; newCaptureVideoPreviewLayer.frame = self.view.bounds; [self.view.layer addSublayer:newCaptureVideoPreviewLayer]; [session startRunning];
我认为你最好的select是抓住和理解这个苹果示例代码,称为AVCam 。 您将在代码中看到如何创build一个AVCaptureVideoPreviewLayer。 你会插入这个UIView作为你的“背景”的子图层。
一旦你得到了这个工作,那UIView就像你的视图层次结构的任何其他部分一样。 你可以把它看作是一个背景UIImageView(虽然它会消耗更多的电池电量)。