【问题标题】:Stop flashlight ios停止手电筒ios
【发布时间】:2015-02-06 09:28:07
【问题描述】:

我有一个手电筒应用程序。 我用它来制作闪光灯:

NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:0.05 
                                                     target:self 
                                                   selector:@selector(toggleFlashlight) 
                                                   userInfo:nil 
                                                    repeats:YES];`
- (void)toggleFlashlight{


    Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");
    if (captureDeviceClass != nil) {
        AVCaptureDevice *device = 
         [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
        if ([device hasTorch] && [device hasFlash]){

            [device lockForConfiguration:nil];
            if (device.torchMode == AVCaptureTorchModeOff) {
                [device setTorchMode:AVCaptureTorchModeOn];
                [device setFlashMode:AVCaptureFlashModeOn];
                //torchIsOn = YES;
            } else {
                [device setTorchMode:AVCaptureTorchModeOff];
                [device setFlashMode:AVCaptureFlashModeOff];
                // torchIsOn = NO;
            }

        [device unlockForConfiguration];
        }
    }    
}

但我想在按下按钮时停止它。我怎样才能做到这一点?如果我没有闪光灯,它会停止亮灯。

【问题讨论】:

    标签: ios objective-c nstimer flashlight


    【解决方案1】:

    在你的停止方法中(你说它有效,除非你有闪光灯),取消任何预定的闪光定时器......并将相机设置为手电筒模式

    //stop timer
    [myTimer invalidate];
    
    //unflash
    Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");
    if (captureDeviceClass != nil) {
        AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
        if ([device hasTorch] && [device hasFlash]){
            [device lockForConfiguration:nil];
            [device setTorchMode:AVCaptureTorchModeOff];
            [device setFlashMode:AVCaptureFlashModeOff];
        }
        [device unlockForConfiguration];
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      相关资源
      最近更新 更多