我有一个正在运行的会话和一个预览层,显示在我的视图中。
我需要在我的应用程序中多次更改 AVCaptureStillImageOutput、AVCaptureMetadataOutput 和 AVCaptureVideoDataOutput 之间的输出,而我的预览应该流畅地显示而不会闪烁。
问题:当我向此会话添加输出时,预览会闪烁(请找到我附加的 gif)。
特定行导致问题:
self.stillImageOutput = AVCaptureStillImageOutput()
self.stillImageOutput?.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]
if session.canAddOutput(self.stillImageOutput) {
session.addOutput(self.stillImageOutput)
}
我的问题:如何避免 AVCaptureVideoPreviewLayer 在将输出添加到正在运行的会话时闪烁?