是否可以为特定视图控制器设置背景以显示实时摄像机视图?如果是这样,是否可以引导我朝着正确的方向努力实现这一目标?
答案 0 :(得分:9)
是的,绝对有可能。您可以在UIView中嵌入实时摄像头,您可以将其放置在任何您喜欢的位置。
首先阅读:AVFoundation Reference - 这是你的框架
您正在寻找的特定课程是AVCaptureVideoPreviewLayer
一致这是一个涵盖所需内容的示例项目:AVCam
答案 1 :(得分:8)
导入:
#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];
答案 2 :(得分:3)
我认为你最好的办法是抓住并理解这个apple sample code, called AVCam。您将在代码中看到如何创建AVCaptureVideoPreviewLayer。你将把它作为你将用作“背景”的UIView的子层插入。
一旦你开始工作,UIView就会像你的视图层次结构中的任何其他部分一样。您可以将其视为背景UIImageView(虽然,它会消耗更多的击球力量。)