AVCaptureDevice折旧到AVCaptureDeviceDiscoverySession使用前置摄像头

问题描述 投票:1回答:1

无法找到关于此的最新答案:

- (void)viewDidLoad {
[super viewDidLoad];
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetHigh;

AVCaptureDevice *device = [self frontCamera];

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];
[self.view bringSubviewToFront:_logo];
[session startRunning];
}

- (AVCaptureDevice *)frontCamera {
    NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
    for (AVCaptureDevice *device in devices) {
        if ([device position] == AVCaptureDevicePositionFront) {
            return device;
        }
    }
    return nil;
}

NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];折旧,并要求使用AVCaptureDeviceDiscoverySession。如何正确实现AVCaptureDeviceDiscoverySession到此代码?我只想使用前置摄像头。谢谢

ios objective-c iphone xcode
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.