设置背景图像/视图以实时显示相机视图?

问题描述:

是否可以为特定视图控制器设置背景以显示实时相机视图?如果是这样,是否可以让我朝正确的方向让这成为可能?设置背景图像/视图以实时显示相机视图?

是的,绝对有可能。您可以在UIView中嵌入实时摄像头,您可以将它放置在任何你喜欢的位置。

开始通过阅读这里:AVFoundation Reference - 这是你的框架

,你正在寻找特定类是AVCaptureVideoPreviewLayer

其中齐声用AVCaptureSession

的作品,这是一个示例项目覆盖您需要的一切:AVCam

我认为你最好的选择是抓住并理解这个apple sample code, called AVCam。您将在代码中看到如何创建AVCaptureVideoPreviewLayer。你会将它作为你将用作“背景”的UIView的子层插入。

一旦你得到了这个工作,那UIView就像视图层次结构的任何其他部分一样。你可以把它当作背景UIImageView来使用(虽然它会消耗更多的电池电量)。

进口:

#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];