首页 文章

如何从AVCaptureSession captureStillImageAsynchronouslyFromConnection中删除屏幕“闪光”效果

提问于
浏览
2

我发现删除avcapturesession captureStillImageAsynchronouslyFromConnection附带的快门声是不可能的,但是我没有看到有人试图删除它附带的那种屏幕闪光 .

你拍了一张照片,屏幕亮了一秒钟(不是真正的闪光灯),然后恢复到正常亮度 .

看起来Instagram正在使用avcapturesession并且没有那个屏幕闪光灯 .

https://developer.apple.com/library/content/samplecode/AVCam/Introduction/Intro.html

我仔细查看了^这是我在我的应用程序中使用的内容,我没有看到它在任何地方引用 . 我认为这是我必须要搞的一些 property ?

任何帮助赞赏 .

1 回答

  • 3

    首先,您不应该使用拥有 captureStillImageAsynchronouslyFromConnection 方法的 AVCaptureStillImageOutput ,因为它已被弃用 . 请改用 AVCapturePhotoOutput .

    其次,你引用的Apple示例在 CameraViewController.swift 中有以下代码片段,它实现了'flashing':

    self.previewView.videoPreviewLayer.opacity = 0
    UIView.animate(withDuration: 0.25) { [unowned self] in
        self.previewView.videoPreviewLayer.opacity = 1
    }
    

    所以只需删除/评论它就可以了 .

相关问题