美文网首页
AVCaptureStillImageOutput 和 AVCa

AVCaptureStillImageOutput 和 AVCa

作者: 鞋底没纹易摔跤 | 来源:发表于2020-04-17 11:08 被阅读0次

    AVCaptureStillImageOutput 在iOS10.0后被废弃了

    AVCaptureStillImageOutput:

    使用AVCaptureStillImageOutput 使用闪光灯代码(即闪光灯会有闪烁效果)

        AVCaptureDevice* device = self.videoInput.device;
        // 开启闪光灯
        if(device.hasFlash && device.isFlashAvailable){
            [device lockForConfiguration:nil];
            device.flashMode = AVCaptureFlashModeOn;
            [device unlockForConfiguration];
        }
        // 使用 AVCaptureStillImageOutput 进行拍照后 闪光灯会自动关闭的
        [self.stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef  _Nullable imageDataSampleBuffer, NSError * _Nullable error) {
        }];
    

    AVCapturePhotoOutput:

    使用AVCapturePhotoOutput 使用闪光灯代码(即闪光灯会有闪烁效果)

    // 这是输出流的设置参数AVVideoCodecJPEG参数表示以JPEG的图片格式输出图片
    NSDictionary *outputSettings = [[NSDictionary alloc] initWithObjectsAndKeys:AVVideoCodecJPEG,AVVideoCodecKey, nil];
    AVCapturePhotoSettings* setting = [AVCapturePhotoSettings 
    photoSettingsWithFormat:outputSettings];
    // 设置闪光灯打开。注意,执行这句代码时闪光灯并不会打开,而是进行拍照时会自动打开,闪烁,然后关闭
    setting.flashMode = AVCaptureFlashModeOn;
    // 拍照,照片在代理方法里获取
    [self.stillImageOutput capturePhotoWithSettings:setting delegate:self];
    

    这里注意闪光灯模式 AVCaptureFlashModeAuto , 当拍摄环境亮的话,拍照时闪光灯是不会开启的,但拍摄环境暗的话,拍照时闪光灯会自动开启

    相关文章

      网友评论

          本文标题:AVCaptureStillImageOutput 和 AVCa

          本文链接:https://www.haomeiwen.com/subject/oxlevhtx.html