如何从 AVCaptureSession captureStillImageAsynchronouslyFromConnection 中删除屏幕 "flash" 效果
How to remove screen "flash" effect from an AVCaptureSession captureStillImageAsynchronouslyFromConnection
我看到无法删除 avcapturesession captureStillImageAsynchronouslyFromConnection 附带的快门声音,但我没有看到有人试图删除它附带的那种屏幕闪光灯。
你拍照,屏幕变亮一秒钟(不是真正的闪光灯)然后 returns 到正常亮度。
看起来 Instagram 正在使用 avcapturesession 并且没有那个屏幕闪光。
https://developer.apple.com/library/content/samplecode/AVCam/Introduction/Intro.html
我查看了这个 ^,这是我在我的应用程序中使用的内容,但我没有看到任何地方引用它。我认为这是一些 属性 我必须搞砸的事情?
感谢任何帮助。
首先,您不应该使用拥有 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
}
所以只要 remove/comment 出来就好了。
我看到无法删除 avcapturesession captureStillImageAsynchronouslyFromConnection 附带的快门声音,但我没有看到有人试图删除它附带的那种屏幕闪光灯。
你拍照,屏幕变亮一秒钟(不是真正的闪光灯)然后 returns 到正常亮度。
看起来 Instagram 正在使用 avcapturesession 并且没有那个屏幕闪光。
https://developer.apple.com/library/content/samplecode/AVCam/Introduction/Intro.html
我查看了这个 ^,这是我在我的应用程序中使用的内容,但我没有看到任何地方引用它。我认为这是一些 属性 我必须搞砸的事情?
感谢任何帮助。
首先,您不应该使用拥有 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
}
所以只要 remove/comment 出来就好了。