如何在两个视图中显示相同的摄像机视频

时间:2017-02-18 00:12:33

标签: ios avfoundation

我试图在两个不同的视图中显示相同的摄像机视频;但是我只在一个视图中获得视频。你能帮忙吗。代码如下

-(void) showCameraPreview{
    self.camerPreviewCaptureSession =[[AVCaptureSession alloc] init];
    self.camerPreviewCaptureSession.sessionPreset = AVCaptureSessionPresetHigh;

    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    NSError *error = nil;
    AVCaptureDeviceInput *videoInput1 = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];

    [self.camerPreviewCaptureSession addInput:videoInput1];
    AVCaptureVideoPreviewLayer *newCaptureVideoViewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.camerPreviewCaptureSession];
    newCaptureVideoViewLayer.frame = self.viewPreview.bounds;
    newCaptureVideoViewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
    [newCaptureVideoViewLayer setFrame:CGRectMake(0.0, 0.0, self.viewPreview.bounds.size.width, self.viewPreview.bounds.size.height )];

    AVCaptureVideoPreviewLayer *newCameraViewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.camerPreviewCaptureSession];
    newCameraViewLayer.frame = self.viewPreview1.bounds;
    newCameraViewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
    [newCameraViewLayer setFrame:CGRectMake(0.0, 0.0, self.viewPreview1.bounds.size.width, self.viewPreview1.bounds.size.height )];

    [self.viewPreview1.layer addSublayer:newCameraViewLayer];
    [self.viewPreview.layer addSublayer:newCaptureVideoViewLayer];

    [self.camerPreviewCaptureSession startRunning];
}

0 个答案:

没有答案