0

iOS アプリで zbar SDK を使用しています。カメラのフラッシュライトを暗くしたい。iOSのドキュメントでAVCaptureDeviceを見つけました

- (BOOL)setTorchModeOnWithLevel:(float)torchLevel error:(NSError **)outError

AVCaptureDevice クラスの setTorchModeOnWithLevel 関数では、ライト レベルを 0 ~ 1 の間で設定します。zbar sdk で、readerview クラスでこのオブジェクトを見つけました。次のコードを使用しています。

    ZBarReaderViewController *mReader =  [[ZBarReaderViewController alloc] init];
    mReader.showsZBarControls = NO;
    mReader.showsHelpOnFail = NO;
    mReader.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;

    mReader.readerDelegate = self;
    //    reader.cameraDevice = UIImagePickerControllerCameraDeviceFront;
    mReader.supportedOrientationsMask = ZBarOrientationMaskAll;
    CGRect cropRect = CGRectMake(0, 0, cameraView.frame.size.width , cameraView.frame.size.height);

    mReader.view.frame = cropRect;

    mReader.cameraOverlayView = [self setOverlayPickerView];
    AVCaptureDevice *mDevice = mReader.readerView.device; //mReader.readerView.device returns object of AVCaptureDevice

AVCaptureDevice 関数にアクセスしようとすると、提案に何も表示されず、手動で記述するとエラーが発生します。

[mDevice setTorchModeOnWithLevel:0.5 error:error];

フラッシュ ライトの調光レベルを設定できるように、AVCaptureDevice オブジェクトを使用するにはどうすればよいですか??

4

3 に答える 3

0

Zbar SDK には、Flash ライト レベルを制御するための API はありません。フラッシュのオン/オフを切り替えることができます。

于 2013-09-10T06:55:56.393 に答える
-1

私は以下のコードを使用しています:)

reader = [ZBarReaderViewController new];
reader.readerDelegate = self;

reader.readerView.torchMode = 2;
reader.showsZBarControls = FALSE;
reader.tracksSymbols = YES;
[reader.scanner setSymbology: ZBAR_ISBN13
                      config: ZBAR_CFG_ENABLE
                          to: 0];
reader.readerView.zoom = 1.0;

reader.cameraOverlayView = [self setLayoutView];


if([[defaults valueForKey:@"flashLight1"] isEqualToString:@"off"] )
    reader.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;
else
reader.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
于 2013-09-10T06:26:05.970 に答える