4

我目前正在构建一个非常简单的应用程序来显示 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 应用程序以及如何实现相同的行为。

请帮忙...

谢谢

4

0 回答 0