4

我正在使用 iphone4 的后置摄像头并执行创建 AVCaptureSession 并向其添加 AVCaptureDevice 的标准而漫长的过程。

在将该相机的 AvCaptureDeviceInput 附加到会话之前,我正在测试我对白平衡和曝光的理解,所以我正在尝试这个:

[self.theCaptureDevice lockForConfiguration:nil];
[self.theCaptureDevice setWhiteBalanceMode:AVCaptureWhiteBalanceModeLocked];
[self.theCaptureDevice setExposureMode:AVCaptureExposureModeContinuousAutoExposure];
[self.theCaptureDevice unlockForConfiguration];

1-鉴于白平衡模式的各种选项都在一个枚举中,我会认为默认值始终为零,因为从未为枚举 Typedef 变量赋值。我发现,如果我在调试器中设置断点和 po 值,默认白平衡模式实际上设置为 2。不幸的是,AVCaptureDevice 的头文件没有说明不同相机设置的默认值。

2-这听起来可能很傻,但我可以假设一旦我停止应用程序,白平衡、曝光模式的所有设置都会恢复到默认值。因此,如果我之后立即启动另一个应用程序,相机设备不会以某种方式卡在那些“硬件设置”上。

4

1 回答 1

2

经过更多的研究和帮助,我找到了答案:

1- 所有相机设置(白平衡、对焦和曝光)默认为“连续”设置,以便相机不断调整所有相机。检查 AVCaptureDevice.h 的枚举值。

2-所有应用程序都在孤岛中运行。当调用它的应用程序移到后台时,相机会停止。当一个新的应用程序调用相机时,上述默认设置再次设置。

于 2012-11-07T22:57:00.450 回答