这只是我一直在尝试试验的一个问题。我知道在我拥有的大多数(如果不是全部)相机应用程序中,iphone 相机以连续 (2) 白平衡开始,如 AVFoundation 框架中的 AVCaptureDevice.h 所示:
enum {
AVCaptureWhiteBalanceModeLocked = 0,
AVCaptureWhiteBalanceModeAutoWhiteBalance = 1,
AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance = 2,
};
但是无论如何我可以强制它以锁定白平衡模式启动吗?
我似乎找不到它在哪里规定了这种情况。
我已经尝试将它包含在我的捕获 session 中:
// Create session (use default AVCaptureSessionPresetHigh)
AVCaptureSession *newCaptureSession = [[AVCaptureSession alloc] init];
[newCaptureSession beginConfiguration];
AVCaptureDevice *device = [self cameraWithPosition:AVCaptureDevicePositionBack];
if ([device isWhiteBalanceModeSupported: AVCaptureWhiteBalanceModeLocked]) {
if ([device lockForConfiguration:nil]) {
[device setWhiteBalanceMode:AVCaptureWhiteBalanceModeLocked];
[device unlockForConfiguration];
}
}
[newCaptureSession commitConfiguration];
...但无济于事。打开应用程序时仍然是自动白平衡。
最佳答案
设置捕获 session 时:
AVCaptureDevice *device = [self cameraWithPosition:AVCaptureDevicePositionBack];
if ([device isWhiteBalanceModeSupported: AVCaptureWhiteBalanceModeLocked]) {
if ([device lockForConfiguration:nil]) {
[device setWhiteBalanceMode:AVCaptureWhiteBalanceModeLocked];
[device unlockForConfiguration];
}
}
关于ios - 可以在启动相机应用程序时控制白平衡模式吗? (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15689745/