我目前正在构建一个非常简单的应用程序来显示 iPad(前/后)摄像头实时流
使用 AVCaptureVideoPreviewLayer。
我只想复制相同的直播并显示它
在第二个视图中,就像 Apple 在 iPad 上的 Photo Booth 应用程序一样(同一流的 9 个视图)。
经过几次尝试,我现在明白两次会议无济于事,
因为一个覆盖另一个。
我目前的方法是创建 2 个 AVCaptureVideoPreviewLayers 并使用相同的 AVCaptureSession。
但是,仍然无法正常工作。
这是我的代码:
rightLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[rightLayer setBackgroundColor:[[UIColor redColor] CGColor]];
[rightLayer setVideoGravity:AVLayerVideoGravityResizeAspect];
leftLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[leftLayer setBackgroundColor:[[UIColor blueColor] CGColor]];
[leftLayer setVideoGravity:AVLayerVideoGravityResizeAspect];
CALayer *rootLayer = [myView layer];
[rootLayer setMasksToBounds:YES];
[rightLayer setFrame:CGRectMake(512, 0, 512, 748)];
[leftLayer setFrame:CGRectMake(0, 0, 512, 748)];
[rootLayer addSublayer:rightLayer];
[rootLayer addSublayer:leftLayer];
[session startRunning];
当我运行我的应用程序时,只有左层显示实时流。
奇怪的是,我找不到一个关于
Apple 的 Photo Booth 应用程序以及如何实现相同的行为。
请帮忙...
谢谢