5

是否可以为特定视图控制器设置背景以显示实时摄像机视图?如果是这样,有人能引导我朝着正确的方向前进吗?

4

3 回答 3

9

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

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

您正在寻找的特定类是AVCaptureVideoPreviewLayer

AVCaptureSession协同工作

这是一个示例项目,涵盖了您需要的一切:AVCam

于 2013-02-10T02:03:26.730 回答
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];
于 2015-06-26T15:48:32.090 回答
3

我认为您最好的选择是获取并理解这个名为 AVCam 的苹果示例代码。您将在代码中看到如何创建 AVCaptureVideoPreviewLayer。您将把它作为 UIView 的子层插入,用作“背景”。

一旦你完成了这个工作,那个 UIView 将就像你的视图层次结构的任何其他部分一样。您可以将其视为背景 UIImageView(尽管它会消耗更多的电池电量)。

于 2013-02-10T01:59:33.353 回答