2

iPhoneカメラのフラッシュライトの強度を制御できますか? 私は目の網膜用のIphoneアプリを開発しており、光の強度を制御する必要がありました(フラッシュライトの増減)が、関連するものを見つけることができませんAppleがこれを許可しているかどうかわかりませんこの解決策を見つけるのを手伝ってください. ありがとうございました。

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) {
  [device lockForConfiguration:nil];
  [device setTorchMode:AVCaptureTorchModeOff];
  [device unlockForConfiguration];
}

私はこのコードをオンフラッシュライトに使用しています。これらのコード行を追加することで、これを解決できました。

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(20.0f, 20.0f, 280.0f, 40.0f)];
    slider.maximumValue = 1.0f;
    slider.minimumValue = 0.2f;
    [slider setContinuous:YES];
    [slider addTarget:self action:@selector(sliderDidChange:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:slider];

    AVCaptureDevice *flashLight = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    if([flashLight isTorchAvailable] && [flashLight isTorchModeSupported:AVCaptureTorchModeOn])
    {
        BOOL success = [flashLight lockForConfiguration:nil];
        if(success)
        {
            [flashLight setTorchMode:AVCaptureTorchModeOn];
            [flashLight unlockForConfiguration];
        }
    }
And then write this method somewhere in your code
- (void)sliderDidChange:(UISlider *)slider
{
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    [device lockForConfiguration:nil];
    [device setTorchModeOnWithLevel:slider.value error:NULL];
    [device unlockForConfiguration];
}
4

0 に答える 0