ios - 可以在启动相机应用程序时控制白平衡模式吗? (iOS)

标签 ios avfoundation

这只是我一直在尝试试验的一个问题。我知道在我拥有的大多数(如果不是全部)相机应用程序中,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/

相关文章:

ios - AVCaptureDevice.requestAccess() 崩溃

macos - 使用 AVFoundation (OSX) 向视频添加过滤器 - 如何将生成的图像写回 AVWriter?

iphone - 什么技术最适合将 iPhone 摄像机数据流式传输到计算机?

iphone - 带有自定义覆盖的 UIImagePickerController startVideoCapture

ios - cellForRowAtIndexPath 在设备旋转期间不调用

ios - UITableViewCell 神秘地改变高度

swift - 如何在 Swift 中用字符串进行文本到语音转换时产生 1-5 秒的小停顿?

ios - 我可以使用 AVCaptureSession 将 AAC 流编码到内存吗?

javascript - IOS 滚动问题( flex 滚动和反弹)

ios - NSInvocationOperation 取消使用