3

私が実験しようとしてきた質問です。AVFoundationフレームワークのAVCaptureDevice.hにあるように、iPhoneカメラは、すべてではないにしてもほとんどのカメラアプリで連続(2)のホワイトバランスで始まることを知っています。

enum {
AVCaptureWhiteBalanceModeLocked                     = 0,
AVCaptureWhiteBalanceModeAutoWhiteBalance           = 1,
AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance = 2,

};

しかし、ホワイトバランスモードロックで強制的に起動することはできますか?
この状態を指示する場所を見つけることができないようです。

ここのキャプチャ セッションに含めてみました。

// 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];

...しかし、役に立たない。アプリを開くと、まだ自動ホワイトバランスです。

4

1 に答える 1

2

キャプチャ セッションを設定する場合:

 AVCaptureDevice *device = [self cameraWithPosition:AVCaptureDevicePositionBack];
 if ([device isWhiteBalanceModeSupported: AVCaptureWhiteBalanceModeLocked]) {
        if ([device lockForConfiguration:nil]) {
             [device setWhiteBalanceMode:AVCaptureWhiteBalanceModeLocked];
             [device unlockForConfiguration];
        }
 }
于 2013-03-29T08:03:05.477 に答える